摘 要:MCNP是輻射屏蔽設計優(yōu)化的基本工具。針對MCNP存在輸入接口復雜、耗時等問題,提出開發(fā)MCNP三維可視化平臺。采用組件技術建立具有多層體系結構的MCNP三維可視化平臺模型,并對構成系統(tǒng)的核心組件進行分類和功能劃分。
關鍵詞:組件;MCNP;可視化;模型;平臺
中圖法分類號:TP391文獻標識碼:A
文章編號:1001—3695(2007)02—0225—02
MCNP是計算復雜幾何結構中的中子—光子耦合輸運問題的大型多功能蒙特卡羅程序,由美國Los Alamos 實驗室研制。主要用于計算中子、光子或中子—光子耦合的輸運問題,以及計算核臨界系統(tǒng)的本征值問題。MCNP是輻射屏蔽設計優(yōu)化的基本工具。在分析物理實驗和反應堆設計、核保護無損檢測系統(tǒng)和輻射屏蔽核儀器設計、材料活化和磁聚變中子學計算、核臨界安全分析、物理保健問題研究等領域得到普遍使用。同時它還可以很好地用于跟蹤計算、決定輻射劑量、物理實驗模擬、宇宙輻射模擬、輻射損傷等研究領域。
MCNP在世界范圍內得到了廣泛的應用,但是存在輸入接口復雜、煩瑣,對空間中幾何對象描述非常困難等問題。眾所周知,MCNP輸入文件結構復雜,目前在應用界主要采用人工方式制作,過程耗時耗力,使用極其不便。對于一個中等復雜度的圖形對象(實體圖元在 50 左右),手工制作時間為 1—2 個月,而且出錯的可能性極大,有時不得不重新制作或簡化模型。因此,有必要為MCNP程序研究開發(fā)一個三維交互式可視化平臺,這不僅能夠提高MCNP程序的使用效率,而且還能夠有效地提高對計算結果的理解和處理。
1 相關工作
從20世紀90年代開始,國外已經有研究人員開始研究MCNP輸入文件制作的簡化和計算結果的圖形化顯示。特別是隨著計算機軟硬件技術的發(fā)展,在近幾年取得了一些有價值的研究成果。所開發(fā)的MCNP可視化軟件[1]能夠將應用場景的二維DXF格式文件和三維SAT格式的圖形文件轉換成MCNP的輸入文件。也就是將在目前商用CAD軟件中繪制的計算場景的幾何模型轉換為MCNP的仿真模型。同時在場景的某些截面將MCNP的計算結果繪制成二維圖形,實現了計算結果的可視化。為便于計算結果的分析、存儲和共享,有的后處理軟件能夠將MCNP計算結果輸出到電子表格等數據庫中。近幾年國內在MCNP前處理與后處理技術領域的研究也取得了長足的進步。主要表現在以下幾個方面:①在MCNP的計算效率、幾何局限性以及二維交互繪圖等方面進行了有益的探索[2];②為了簡化MCNP輸入文件的制作、顯示MCNP的計算進程、計算數據的抽取與顯示,研究開發(fā)了專用的MCNP程序可視化運行平臺[3],并能以圖形化的方式顯示MCNP的計算進程和運行時間的相關信息;③為了簡化MCNP的幾何建模,提高MCNP計算輸入文件的編寫效率,研究將有關CAD文件中的幾何模型轉換為MCNP仿真模型的算法問題。通過對目前商用圖形軟件包進行二次開發(fā),開發(fā)出專用的MCNP輔助建模工具[4]。
可視化技術已經在自然科學領域得到了廣泛的應用。目前在規(guī)則數據場的體繪制和面繪制算法等方面的技術已趨于成熟。國內外的一些研究機構相繼推出了一系列可視化軟件工具及專用可視化軟件。但在三維數據場實時動態(tài)顯示、非規(guī)則數據場、矢量場的可視化計算,以及基于網絡的科學計算可視化理論等方面有待進一步的研究和完善。
2 基于組件技術的MCNP程序三維可視化平臺模型結構
利用基于COM+多層組件體系結構的軟構件技術建立系統(tǒng)結構模型。根據系統(tǒng)的性能和技術要求,采用基于N層次的應用體系結構,將整個系統(tǒng)劃分為多個邏輯層次,每個層次通過提供專門的服務在整個系統(tǒng)中完成特定的工作。MCNP三維可視化平臺模型結構如圖1所示。
本系統(tǒng)由下向上分為數據服務層、事務服務層、對象服務層和表示服務層。其中數據服務層提供持久存儲接口,這些接口采用ADO,OLE,DB以及其他數據庫驅動程序等技術設計和實現;事務服務層由許多事務對象組成,每個事務對象是一個有狀態(tài)的COM+組件,事務服務層包含多個進程內可配置的COM+ DLL組件,本系統(tǒng)的主要核心組件均位于該層;對象服務層由有狀態(tài)對象模型組成,它們是問題域中的現實世界對象,在物理上對象服務層由多個將COM+對象加載客戶進程中間的COM+ DLL組成;表示服務層純粹由用戶界面代碼組成,它只是簡單地使用對象服務層提供的服務。
3 系統(tǒng)核心組件
3.1 組件劃分
采用組件技術開發(fā)軟件系統(tǒng)的一項重要任務就是組件的劃分。合理的組件劃分將有效地簡化開放式、可重構系統(tǒng)的開發(fā)工作。通常組件的劃分至少要滿足兩個條件:①為了有利于組件的獨立開發(fā)、部署和升級,組件的劃分應滿足組件在功能上的獨立性和自主性。當前組件技術發(fā)展的趨勢是采用黑匣組件,即一個組件可以被看成一個黑盒子。組件的調用者無須知道其內部的實現細節(jié),只要從外部調用即可實現即插即用。②為了便于使用,組件接口定義要規(guī)范和清晰。組件的調用者不必理解組件的內部實現機理,只需了解組件的接口規(guī)范。
3.2 系統(tǒng)核心組件
按照上述原則和MCNP三維可視化平臺模型結構將系統(tǒng)組件劃分為以下幾類:
(1)系統(tǒng)管理類組件。該類組件包括人機交互組件、文件轉換組件、MCNP運行過程監(jiān)控組件等。MCNP采用空間面分割法的描述法來描述幾何關系。首先它要定義幾何體的組成表面,再由這些面將計算空間劃分為若干單元,最后在每個單元填入相應介質就構成了幾何體。而在MCNP的輸入文件中需要人工來描述這些復雜的幾何體。文件轉換組件負責實現圖形文件向MCNP輸入文件的自動轉換,也就是實現三維幾何模型向MCNP仿真模型的轉換。MCNP運行過程監(jiān)控組件用于監(jiān)控MCNP的運行狀態(tài)、實現用戶與MCNP的實時交互等。
(2)幾何造型與裝配類組件。該類組件包括三維幾何造型組件、圖形編輯組件、虛擬裝配組件、空間檢測組件、坐標轉換組件、網格劃分組件等。幾何造型組件和圖形編輯組件實現三維體元的生成。由虛擬裝配組件構造仿真計算所需要的三維場景,并進行碰撞檢測。由于在MCNP仿真模型中不允許有非填充空間的存在,為此由空間檢測組件負責三維場景內空間的檢測與填充。通常MCNP仿真計算中源的類型分為點源和體源。體源又可以分為有限平面源和球面源等。仿真計算過程中源的空間位置和類型通常需要改變,即允許用戶改變源的位置或由點源變?yōu)轶w源。為此坐標轉換組件實現幾何體組裝結果與放射源位置的自適應耦合,避免因為源的變化而重新組裝幾何體。MCNP每次僅計算一個單元或指定截面,這樣由網格劃分組件根據仿真計算要求對組裝后的場景進行網格劃分。
(3)數據管理類組件。該類組件包括數據轉換組件、數據存取組件、數據擬合組件等。通常采用MCNP進行仿真計算,希望得到的數據有:一點處的粒子通量、面上的粒子通量和總流量、體內的總粒子流量和粒子能量在某區(qū)內的沉積。數據轉換組件就是負責將MCNP的計算結果轉換到通用數據庫中,便于用戶的使用和分析。也可以根據需要將計算結果轉換為相關專用分析工具的數據格式。數據擬合組件實現對數據的曲線、曲面擬合。
(4)可視化類組件。該類組件包括二維可視化組件、三維可視化組件。可視化組件根據要求實現MCNP計算結果的二維與三維可視化。其中三維可視化組件應具有三維實時渲染功能。
3.3 組件設計
組件設計包括兩個內容:①組件的內部設計,即針對組件要完成的功能,確定組件的內部結構和實現機制等細節(jié)問題;②按照標準接口規(guī)范完成組件輸入、輸出方法和參數的設計。
本可視化平臺按照組件標準接口規(guī)范確定各個組件的輸入、輸出方法和參數的設計。使用標準C++完成系統(tǒng)的開發(fā)。
4 結束語
采用基于COM+多層組件體系結構的軟構件技術建立MCNP三維可視化平臺系統(tǒng)模型,一方面有利于所開發(fā)的系統(tǒng)具有高的可擴展性、可靠性和靈活性;另一方面,有利于將一個復雜的系統(tǒng)分解為若干任務單一的子系統(tǒng)。因此,系統(tǒng)的可實現性好,為系統(tǒng)的順利開發(fā)奠定了堅實的基礎。多層組件體系結構技術的使用,使得軟件能夠通過代理實現與其他應用軟件的集成。提高了系統(tǒng)的靈活性和開放性。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。