MCNP的發展歷程
MCNP程式是由美國LosAlamos國家實驗室研製開發的,為其所投入的研究、發展、程式編寫及參數製作超過了500人年。程式誕生於1963年,20世紀70年代中期由中子程式和光子程式合併,形成了最初的MCNP程式。自那時起,每2—3年更新一次,版本不斷發展,功能不斷增加,適應面也越來越廣。已知的MCNP程式研製版本的更新時間表如下:
MCNP-3:1983年寫成,為標準的FORTRAN77版本,截面採用ENDF/B2III。
MCNP-3A:1986年寫成,加進了多種標準源,截面採用ENDF/B2IV。
MCNP-3B:1988年寫成,具有陣列幾何處理能力(即重複結構描述),多群截面和計數輸出的圖形化功能,截面採用ENDF/B2IV和ENDL2851。
MCNP-4:1990年7月由LANL寫成,截面採用ENDF/B2V。
MCNP-4.2:1991年3月由ORNL的RSIC寫成,程式有較大改進,增加了基於Sandia國家實驗室的ITS(IntegratedTigerSeries)2連續能量電子輸運包,將其編入MCNP程式,專用於UNIX系統,從此MCNP程式成為中子/光子/電子耦合輸運程式。
MCNP-4A:1993年誕生,仍為UNIX系統,開始引入PVM並行,適合共享存儲並行計算機,截面為ENDF/B2V。
MCNP-4B:1997年3月正式推出,有PC版(需要LAHEY編譯系統支持),UNIX版,採用ENDF/B2VI截面庫和彩色圖形系統,仍採用PVM並行編程。
MCNP-4B2:為MCNP24B的升級版,其支持FORTRAN90系統。
MCNP24C:2000正式推出,在MCNP24B基礎上增加共振自屏、瞬發α本徵值、微擾和多群伴隨中子輸運計算等處理,採用F90編譯器,工作站版本支持PVM和SMPP並行。
MCNP-5:2003年推出。在這個版本中,完成了從FORTRAN277到FORTRAN290的重新組織,支持以前的MCNP-4C2/4C3全部功能,同時在提高圖形顯示,易安裝性以及更好的線上文檔方面有較大改善。
另外,在MCNP系列版本中,出現了MCNPX版本,該版本程式仍為該實驗室研製,並由其負責維護和更新。MCNPX開始於1994年,作為MCNP-4B和LAHET22.8的代碼整合項目,並第1次在1999年對外發布,版本為2.1.5。2002年,MCNPX升級為MCNP-4C,其變化包括支持FORTRAN90系統,加強了12種新特性,並作為2.4.0版本對外發布。自從2002年開始,MCNPX測試組向全球300個機構中的1400多名用戶進行公開測試,在加入了數10個新特性後作為2.5.0版對外發布。MCNPX現在已經成為世界上使用最為廣泛的粒子輸運程式之一。
另外,據悉,最新的MCNP6也已經發布。
早期的MCNP程式基於節約記憶體的目的,使用磁碟檔案較多,讀取檔案效率極低。目前MCNP程式中的多數檔案交換已改為記憶體數組,它比磁碟檔案讀取速度提高了10000倍,加之高速快取Cache的使用,並行效率顯著提高。
MCNP的套用狀況及發展
由於MCNP的通用性、靈活性以及強大的功能,使得其在世界上有廣泛套用,僅國內的用戶就在百家之上,套用領域也從過去主要的核領域,逐漸推廣到石油、醫學在內的許多領域。
從20世紀90年代開始,國外已經有研究人員開始研究MCNP輸入檔案製作的簡化和計算結果的圖形化顯示。特別是隨著計算機軟硬體技術的發展,在近幾年取得了一些有價值的研究成果。所開發的MCNP可視化軟體能夠套用場景的二維DX格式檔案和三維SAT格式的圖形檔案轉換成MCN的輸入檔案,即將在目前商用CAD軟體中繪製的計算場景的幾何模型轉換為MCNP的仿真模型同時在場景的某些界面將MCNP的計算結果繪製成二維圖形,實現了計算結果的可視化。為便於計算結果的分析、存儲和共享,有的後處理軟體能夠將MCNP計算結果輸出到電子表格等資料庫中。
近幾年,國內在MCNP前處理與後處理技術領域的研究也取得了長足的進步。主要表現在以下幾個方面:
(1)在MCNP的計算效率、幾何局限性以及二維互動繪圖等方面進行了有益的探索。
(2)為了簡化MCNP輸入檔案的製作、顯示MCNP的計算進程和計算數據的抽取與顯示,研究開發了專用的MCNP程式可視化運行平台,並能以圖形化的方式顯示MCNP的計算進程和運行時間的相關信息。
(3)為了簡化MCNP的幾何建模,提高MCNP計算輸入檔案的編寫效率,研究將有關CAD檔案中的幾何模型轉換為MCNP仿真模型的算法問題,通過對目前商用圖形軟體包進行二次開發,開發出專用的MCNP輔助建模工具。
另外,可視化技術已經在自然科學領域得到了廣泛的套用。目前在規則數據場的體繪製和面繪製算法等方面的技術已經趨於成熟。國內外的一些研究機構相繼推出了一系列可視化軟體工具及專用可視化軟體。但在三維數據場實時動態顯示、非規則數據場合矢量場的可視化計算以及基於網路的科學計算可視化理論等方面有待進一步的研究和完善。
綜上所述,近幾年來國內外研究人員在MCNP仿真模型的建立、計算結果的可視化研究方面取得了一些重要的研究成果。
MCNP程式的不足
MCNP程式採用了MC方法,由於能夠準確地描述複雜幾何,並真實地考慮了粒子事件的全部物理過程,特別是連續能量點截面和精確角分布的使用,使MC方法具有很強的競爭性。然而這種方法的最大不足是誤差的機率性和收斂方面,計算耗時多,過去受計算機條件限制,這種方法在20世紀90年代前還受到限制,但隨著計算機的高速發展,近10年MC方法的套用也越來越廣。
同時,由於MCNP是一個通用軟體,往往不能直接用來解決具體問題。在具體套用中,必須針對具體問題作適當改進和進一步開發。
另外,雖然MCNP在世界範圍內得到了廣泛套用,但是存在輸入接口複雜和繁瑣,對空間中幾何對象描述非常困難的問題。MCNP輸入檔案結構複雜,幾何模型的描述工作又極為抽象、不直觀和容易出錯,這樣使得描述工作費時、複雜和效率低。如果採用人工方式製作,需要建模人員具有較強的專業水平。對於一個中等複雜度的圖像對象(實體圖元在50左右),手工製作時間為1-2個人月,而且出錯的可能性極大,有時不得不重新製作或簡化模型。而且MCNP的繪圖功能僅僅局限在二維剖面圖,常會遇到不適應的情況,特別是複雜幾何的描述極易出錯,這給用戶在調試幾何模型輸入檔案時帶來不便。
MCNP的發展趨勢及前景
針對MCNP程式本身以及其套用領域的特點,今後在MCNP輸入檔案輔助製作工具、幾何模型可視化等方面都很具有發展潛力,同時在某些特殊領域,可以對MCNP進行二次開發,對其做原始碼級的修改,以適用於具體的問題。
20世紀80年代後期提出了科學計算可視化這個新的研究領域。經過數10年的研究,科學計算可視化已經從研究階段轉入到套用階段。目前套用在MCNP的可視化研究主要體現在MCNP模型的可視化輔助自動建模工具。MCNP模型相關的可視化工具主要包括VisualEditor,Sabrina,Moritz以及中國科學院核能安全技術研究所FDS團隊開發的具有自主智慧財產權的多物理耦合分析自動建模軟體MCAM。MCNP可視化自動建模工具的開發,可以很好地解決以手工的方式來建立MCNP輸入檔案所帶來的一系列相關問題,因而具有很廣闊的發展前景。
另一方面,隨著科學計算可視化理論以及虛擬現實技術的發展,開發具有複雜幾何體的建模和虛擬組裝、三維空間不規則數據場的可視化以及MC2NP計算結果可視化處理功能的高度集成可視化平台,也可以更好地促進MCNP的套用,並在一定程度上促進科學計算可視化理論以及虛擬現實技術的進一步發展。
MCNP的運行方法
MCNP程式運行關鍵是通過讀入一個經用戶創建的稱為INP的輸入檔案來進行計算。以4c版本為例,建立一個較為快捷的運行方法。建立一個TXT文檔,文檔中輸入“call mcnp4c.exe inp=**in.txt outp=**o.out”語句,檔案類型由.txt改為.bat,其中**in.txt為inp檔案名稱稱,**o.out為輸出結果檔案名稱稱,保存後雙擊就可運行。
經過一段 時間的運行, 程式將給出運行結果, 默認情況下生成檔案有 runtpe 和 out* 2 個檔案,其中 runtpe 這個檔案是中間轉儲檔案,一般不需要;計算結果則是保存在 out*檔案內, 利用文本讀寫軟體如 “寫字板” 打開後進行分析並對結果進行整理。 下圖是未執行前的情形:在雙擊 mcnp.exe 執行後,會發現多了 2 個檔案,如上所述; 如果再雙擊 mcnp.exe,則會出現下述的情形,即不覆蓋原來的結果;如果為了增加在運行時的靈活性,那么可以在命令行(cmd)下的利用通用的 命令來進行,其命令格式是: mcnp inp=11.txt outp=11.out 這裡的 mcnp 是命令,11.txt 是輸入檔案,相當於默認的 inp 檔案,11.out 是結果 輸出檔案,相當於默認的 oupt 檔案。 刪除掉上面的 4 個生成檔案,在 mcnp 軟體的
當前目錄下輸入:那么可以看到, 那么可以看到,執行結果為 11.out 和 runtpe,即此時輸入檔案的名稱和輸出檔案的名稱我們都可以自由指定。
繪圖命令
進入繪圖界面
在 4C 版本裡面,如果需要繪圖,則必須需要用 Dos 命令來做。打開命令窗 口(在
開始選單中的“運行”子選單裡面輸入“cmd” ,回車),利用“cd”命令進 入 MCNP 程式所在目錄(建議 MCNP 所在的資料夾路徑要儘量短並且資料夾名稱 為英文名稱), 輸入 MCNP IP 命令, 此時系統會自動給你打開 MCNP 的繪圖命令 視窗: MCNP 的操作界面,在主視窗里會出現 2 個子視窗,名稱分別為 MCNP Execute Window(命令視窗)和 MCNP Plot Window(繪圖視窗),如上圖所示,用戶在命令視窗中輸入各種繪圖命令和相關參數, MCNP 將把執行結果顯示在繪圖視窗中。Ip;initiate and plot 圖 1、MCNP 繪圖基本界面示意圖比如你的 MCNP 檔案裝在 D 盤裡下面的 MCNP 資料夾中, 你就在命令視窗 中先輸入 D: ,回車;進入 D 盤目錄下,再輸入 cd MCNP 進入 MCNP 目錄,然 後就輸入 MCNP IP 就進入畫圖界面; 上述是默認情況下的繪圖過程,通用的繪圖方式是: mcnp inp= filename ip modle: mcnp inp=11.txt ip在命令行(cmd)下敲入上述命令,具體檔案只要替換上述的 filename 即可,上述 的例子就是針對 11.txt 這個輸入檔案進行繪圖。 的含義是 initiate and plot 。 ip 此時作業系統會自動打開 mcnp 程式並如上圖 1 所示。
基本繪圖命令介紹
繪圖命令:同運行一樣,建立TXT文檔輸入call mcnp4c.exe inp=***in.txt ip,保存後檔案類型由.txt改為.bat,其中**in.txt為inp檔案名稱稱,雙擊就可繪圖。
(1)、origin vx vy vz 指定繪圖坐標的原點,默認情況取 vx vy vz 為 0 0 0, 例:Origin 0 0 0圖 2、執行 origin 0 0 0 命令後的顯示結果(2)、extent eh ev 設定圖形的
顯示比例問題,其中 eh(horizontal)為水平方向從原點開始的任意長 度,單位為 cm,ev(vertical)為垂直方向從原點開始的任意長度,如果只輸入一個 數值,則 eh 和 ev 均取同一個數值,默認情況下 eh 和 ev 取值為 100。 例:extent 5, 注意:圖 2 中繪圖視窗中的 extent 為(100.00,100.00) 圖 3、執行 extent 5 命令後的顯示結果(3) PX vx 繪製 x=vx 位置處的 y-z 平面投影圖,默認情況下 vx=0 例:PX 10 (4) PY vy 繪製 y=vy 位置處的 x-z 平面投影圖,默認情況下 vy=0 例:PY 10 (5) PZ vz 繪製 z=vz 位置處的 x-y 平面投影圖,默認情況下 vz=0 例:PZ 10圖 4、執行 PY 0.05 命令後的顯示結果圖 5、執行 PZ 0.1 命令後的顯示結果 (6)、label s c 對曲面和柵元進行標記, 其中 s 和 c 分別代表對曲面和柵元進行標記的符號的大 小。 例:label 5 5圖 6、執行 label 5 5 後的結果示意圖(7)、factor 圖片放大和縮小用,例如 factor 10 縮小 10 倍,factor 0.1 放大 10 倍;由於 比較簡單,所以這裡就不再舉例了。上述就是常用的繪圖命令,對於深一步的繪圖命令,請參考相關的英文參考資料 《RSICC COMPUTER CODE COLLECTION --- MCNP4C》