胡 濤, 梁 森, 萬(wàn) 波
西安電子科技大學(xué), 西安 710071
空間輻射效應(yīng)是影響航天器在軌穩(wěn)定運(yùn)行的重要因素之一,在航天器故障中有近一半是由空間環(huán)境中各類(lèi)輻射造成的[1].隨著航天活動(dòng)的不斷深入,對(duì)航天器抗輻射性能的要求也越來(lái)越高.為了提高航天器運(yùn)行的安全性和穩(wěn)定性,對(duì)空間輻射效應(yīng)進(jìn)行仿真計(jì)算是重要手段之一.
隨著計(jì)算機(jī)硬件與軟件的發(fā)展,對(duì)各類(lèi)復(fù)雜系統(tǒng)的仿真需求越來(lái)越多、要求越來(lái)越高.針對(duì)空間輻射環(huán)境及其抗輻射加固的仿真,國(guó)外的NASA和ESA開(kāi)發(fā)了RadBelt、NOVICE 和Space Radiation Model 等空間輻射環(huán)境預(yù)測(cè)、輻射效應(yīng)仿真軟件.黨煒等[2]采用CBS方法建立了空間輻射環(huán)境仿真平臺(tái),滕云飛等[3]開(kāi)發(fā)了針對(duì)近地空間電磁環(huán)境的仿真系統(tǒng),馬繼峰等[4]開(kāi)展了基于Geant4的空間輻射環(huán)境仿真系統(tǒng)設(shè)計(jì)研究.以上研究雖然能夠一定程度上滿(mǎn)足空間輻射效應(yīng)的仿真模擬,但是這些系統(tǒng)要么需要在相應(yīng)平臺(tái)上安裝軟件,要么基于特定場(chǎng)景而不具備通用性.另外,空間輻射效應(yīng)包含多種復(fù)雜的空間輻射現(xiàn)象,針對(duì)不同的仿真需求,使用的仿真工具和仿真流程都不同.因此對(duì)仿真系統(tǒng)的研究是一項(xiàng)涉及多領(lǐng)域、多學(xué)科的復(fù)雜工程,單一的仿真工具、固定的流程不能滿(mǎn)足用戶(hù)對(duì)仿真系統(tǒng)準(zhǔn)確性、靈活性、交互性的要求.
針對(duì)空間輻射效應(yīng)仿真的復(fù)雜性,本文提出了一種基于MCNP的空間輻射效應(yīng)可視化仿真系統(tǒng).MCNP程序是由美國(guó)Los Alamos國(guó)家實(shí)驗(yàn)室開(kāi)發(fā)的基于蒙特卡洛方法的粒子運(yùn)輸程序[5],用于計(jì)算中子、光子和電子的運(yùn)輸過(guò)程,可以很好地模擬空間輻射效應(yīng).平臺(tái)基于云計(jì)算和微服務(wù)開(kāi)發(fā),云計(jì)算是一種能夠?qū)崿F(xiàn)對(duì)資源池按需分配的計(jì)算模式[6],而微服務(wù)是在SOA的基礎(chǔ)上進(jìn)一步組件化、松耦合的架構(gòu)風(fēng)格.基于云計(jì)算和微服務(wù)的仿真系統(tǒng)具有高擴(kuò)展性、高靈活性和高容錯(cuò)等特點(diǎn).除此之外,為了提高仿真系統(tǒng)的交互性和仿真過(guò)程的直觀性,系統(tǒng)使用WebGL技術(shù)為仿真用戶(hù)提供可視化仿真功能.
本文將首先介紹基于MCNP的空間輻射效應(yīng)可視化仿真系統(tǒng)的整體架構(gòu)與典型可視化仿真通用架構(gòu),然后針對(duì)MCNP可視化仿真的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行詳細(xì)闡述,并給出系統(tǒng)測(cè)試結(jié)果,最后對(duì)本文工作作出總結(jié)與展望.
針對(duì)空間輻射效應(yīng)仿真對(duì)靈活性、擴(kuò)展性、交互性的需求以及對(duì)用戶(hù)友好度的考慮,本文提出如圖1所示的基于MCNP的空間輻射效應(yīng)可視化仿真系統(tǒng)架構(gòu).
基于云計(jì)算對(duì)底層硬件資源按需分配的計(jì)算模式,系統(tǒng)架構(gòu)可分為基礎(chǔ)服務(wù)層(IaaS)、平臺(tái)服務(wù)層(PaaS)和軟件服務(wù)層(SaaS).基礎(chǔ)服務(wù)層主要為平臺(tái)服務(wù)層提供虛擬資源和硬件資源.平臺(tái)服務(wù)層通過(guò)中間件調(diào)用基礎(chǔ)服務(wù)層提供的資源為軟件服務(wù)層提供仿真流程需要的各類(lèi)組件、數(shù)據(jù)存儲(chǔ)以及仿真計(jì)算的微服務(wù)接口.軟件服務(wù)層通過(guò)中間件調(diào)用平臺(tái)服務(wù)層的組件和接口為用戶(hù)提供多類(lèi)仿真單元、流程定制、虛擬機(jī)資源、結(jié)果分析等功能.
從仿真用戶(hù)角度考慮,典型可視化仿真的需求主要是便利、直觀的仿真模型及參數(shù)輸入方式和仿真結(jié)果分析.而從仿真平臺(tái)角度考慮,由于仿真軟件和仿真數(shù)據(jù)的多樣化,平臺(tái)更需要易擴(kuò)展、低耦合的模式對(duì)仿真流程中初始化數(shù)據(jù)、交互數(shù)據(jù)、仿真數(shù)據(jù)進(jìn)行處理.對(duì)于數(shù)據(jù)來(lái)源、種類(lèi)多樣的仿真單元,系統(tǒng)則需要實(shí)現(xiàn)對(duì)于不同類(lèi)型數(shù)據(jù)的聯(lián)合處理.本文綜合考慮用戶(hù)和平臺(tái)對(duì)于典型可視化仿真流程的需求,提出一種通用的典型可視化仿真架構(gòu)如圖2所示.
通用架構(gòu)主要分為可視化層、中間數(shù)據(jù)層、數(shù)據(jù)處理層、數(shù)據(jù)存儲(chǔ)層以及中間件.其中:可視化層是直接面向用戶(hù)的界面,為用戶(hù)提供基礎(chǔ)服務(wù)、可視化、數(shù)據(jù)交互等功能,便于用戶(hù)進(jìn)行仿真流程與模型設(shè)計(jì).中間數(shù)據(jù)層是在可視化仿真過(guò)程中,用戶(hù)與平臺(tái)進(jìn)行數(shù)據(jù)交互的中間層.數(shù)據(jù)處理層為平臺(tái)提供對(duì)各類(lèi)資源、數(shù)據(jù)的處理和調(diào)度,從而對(duì)仿真過(guò)程進(jìn)行可視化和持久化.數(shù)據(jù)存儲(chǔ)層用于存儲(chǔ)用戶(hù)個(gè)性化參數(shù)、仿真流程所需模型、數(shù)據(jù)和仿真結(jié)果數(shù)據(jù).中間件則負(fù)責(zé)上下層之間數(shù)據(jù)、模塊、接口間的轉(zhuǎn)換、通信、調(diào)度和協(xié)同.
空間輻射效應(yīng)引起的航天器輻射破壞主要包括總劑量效應(yīng)、單粒子效應(yīng)以及位移損傷,其中總劑量效應(yīng)和單粒子效應(yīng)占了94%[2].對(duì)空間輻射效應(yīng)的模擬研究主要有地面模擬和計(jì)算機(jī)模擬兩種,因空間輻射環(huán)境中不同的環(huán)境具有一定的協(xié)同效應(yīng)[7],地面模擬受試驗(yàn)成本影響而有一些限制.而計(jì)算機(jī)模擬則可以很好地解決這些問(wèn)題.
使用MCNP進(jìn)行空間輻射效應(yīng)模擬需要在inp文件(MCNP的輸入文件)中對(duì)該幾何模型進(jìn)行描述[8],但目前inp文件基本靠手工編寫(xiě),這種方式對(duì)復(fù)雜幾何模型的描述顯得尤為困難.除此之外,inp文件中還需要包含計(jì)算所需的仿真參數(shù),且這些參數(shù)大多與幾何模型息息相關(guān).這讓inp文件的手動(dòng)編寫(xiě)變得更加復(fù)雜.針對(duì)MCNP輸入文件的編寫(xiě)困難,目前的輔助程序研究方向可分為兩類(lèi): 第一類(lèi)是研究可視化環(huán)境,讓用戶(hù)在可視化環(huán)境中創(chuàng)建所需幾何模型以及相關(guān)參數(shù); 第二類(lèi)是研究轉(zhuǎn)換程序,先利用ProE等三維設(shè)計(jì)軟件設(shè)計(jì)模型,再通過(guò)轉(zhuǎn)換程序?qū)⒃O(shè)計(jì)出的模型文件轉(zhuǎn)換為MCNP輸入文件中的幾何模型[9].
目前國(guó)內(nèi)外沿著這兩種方向已有不少成果,李春燕等人的MCNPIN程序?qū)崿F(xiàn)了可視化編寫(xiě)mcnp輸入文件[10],其通過(guò)OpenGL處理三維圖形的顯示并利用VC++編程實(shí)現(xiàn)數(shù)據(jù)的輸入和顯示,但是程序的顯示精度較低,遠(yuǎn)不如現(xiàn)有的CAD軟件.德國(guó) Karlsruhe 研究中心反應(yīng)堆安全研究所對(duì)轉(zhuǎn)換類(lèi)工具進(jìn)行了深入研究[11].其中中國(guó)科學(xué)院FDS團(tuán)隊(duì)開(kāi)發(fā)的蒙特卡洛粒子運(yùn)輸計(jì)算自動(dòng)建模系統(tǒng)MCAM功能尤為強(qiáng)大[12],能夠?yàn)橛脩?hù)實(shí)現(xiàn)可視化的自動(dòng)建模,但其主要面向的是核領(lǐng)域的粒子運(yùn)輸問(wèn)題且需要在平臺(tái)上安裝相應(yīng)軟件.為了在系統(tǒng)上實(shí)現(xiàn)基于MCNP的可視化仿真,系統(tǒng)采用WebGL技術(shù)實(shí)現(xiàn)inp文件的可視化并通過(guò)中間件實(shí)現(xiàn)了基于igs數(shù)據(jù)和json數(shù)據(jù)的inp文件生成算法.
在通用可視化仿真架構(gòu)的基礎(chǔ)上結(jié)合MCNP仿真的特性,基于MCNP的可視化仿真架構(gòu)如圖3所示.
可視化層:在幾何模型設(shè)計(jì)方面,因現(xiàn)有的CAD技術(shù)已經(jīng)發(fā)展的非常成熟且考慮到大部分使用者的操作習(xí)慣,仍將ProE等三維CAD設(shè)計(jì)軟件作為幾何模型設(shè)計(jì)的主要工具.而在可視化環(huán)境方面,隨著Google、FireFox等主流瀏覽器對(duì)html5、WebGL的支持以及GPU性能和渲染技術(shù)的發(fā)展,使用瀏覽器作為復(fù)雜三維圖形展現(xiàn)與編輯平臺(tái)成為可能.且基于B/S架構(gòu)的Web技術(shù)具有高通用、高獨(dú)立、易擴(kuò)展、易移植等特點(diǎn).因此程序?qū)⒒赥hreeJS Editor的三維前端編輯器作為主要的可視化環(huán)境.在可視化環(huán)境中實(shí)現(xiàn)對(duì)導(dǎo)入幾何模型的展示和參數(shù)設(shè)置、輕量幾何模型的設(shè)計(jì)與參數(shù)設(shè)置、定制化操作等.這樣使得程序既充分利用了現(xiàn)有的成熟CAD技術(shù),方便了模型制作過(guò)程、減少了使用新工具帶來(lái)的工作量.也利用快速發(fā)展的Web前端三維技術(shù),使得仿真模型的幾何模型設(shè)計(jì)和參數(shù)設(shè)置等更加形象直觀,提高了用戶(hù)的工作效率和體驗(yàn),實(shí)現(xiàn)了inp文件的幾何可視化與數(shù)據(jù)可視化.
中間數(shù)據(jù)層:主要分為3類(lèi)文件:
1) 模型數(shù)據(jù).主要包含兩類(lèi)幾何模型數(shù)據(jù),一個(gè)是用戶(hù)利用三維CAD軟件設(shè)計(jì)的幾何模型數(shù)據(jù)(下文統(tǒng)稱(chēng)為igs文件)同時(shí)也是仿真計(jì)算的主要幾何模型數(shù)據(jù)來(lái)源、另一個(gè)則是前端三維可視化顯示使用的幾何模型數(shù)據(jù)(下文統(tǒng)稱(chēng)為obj文件),實(shí)際上是利用模型處理模塊將igs文件轉(zhuǎn)換出的obj文件.也就是說(shuō),這兩類(lèi)文件是同一幾何模型基于不同用途的不同表示.
2) json數(shù)據(jù).主要包含幾何數(shù)據(jù)和參數(shù)數(shù)據(jù).幾何數(shù)據(jù)是用戶(hù)在可視化環(huán)境中添加的幾何模型,而參數(shù)數(shù)據(jù)則是用戶(hù)為幾何模型設(shè)置的仿真參數(shù).
3) 仿真計(jì)算數(shù)據(jù).主要包含MCNP的輸入文件(下文統(tǒng)稱(chēng)為inp文件)和輸出文件(下文統(tǒng)稱(chēng)為out文件).inp文件是MCNP計(jì)算所需的輸入數(shù)據(jù),而out文件則是MCNP根據(jù)輸入數(shù)據(jù)進(jìn)行計(jì)算后生成的輸出數(shù)據(jù).
數(shù)據(jù)處理層:主要分為3個(gè)模塊:
1) 幾何模型處理模塊.將igs文件轉(zhuǎn)換為可視化環(huán)境所需的obj文件.
2) 輸入文件處理模塊.根據(jù)igs幾何模型、可視化幾何模型以及仿真參數(shù)生成inp文件.
3) 仿真計(jì)算模塊.根據(jù)inp文件進(jìn)行仿真計(jì)算.
數(shù)據(jù)與文件存儲(chǔ)層:存儲(chǔ)的文件包括仿真流程中生成的中間文件、仿真計(jì)算需要的模型文件,數(shù)據(jù)庫(kù)主要包含材料表、能譜表等仿真相關(guān)仿真參數(shù)表以及歷次仿真流程的記錄,便于用戶(hù)進(jìn)行仿真計(jì)算的橫向、縱向?qū)Ρ?
通過(guò)該架構(gòu)進(jìn)行MCNP仿真的一般流程如下:
1.通過(guò)ProE或其它CAD三維設(shè)計(jì)軟件設(shè)計(jì)仿真模塊,并導(dǎo)出igs格式的幾何模型文件.
2.將igs文件上傳到服務(wù)器轉(zhuǎn)化為obj格式, web前端三維編輯器加載obj文件顯示模型.
3.利用前端三維編輯器進(jìn)行模型的參數(shù)設(shè)置、不同輻射源的添加、參數(shù)設(shè)置以及一些其它定制化模型操作.
4.確認(rèn)仿真參數(shù)的設(shè)置后,提取并生成參數(shù)數(shù)據(jù)在展示頁(yè)進(jìn)行匯總展示以及校驗(yàn).
5.將校驗(yàn)后的json數(shù)據(jù)上傳到服務(wù)器,服務(wù)器根據(jù)igs數(shù)據(jù)以及json數(shù)據(jù)將其轉(zhuǎn)化為inp文件并發(fā)送回前端頁(yè)面進(jìn)行二次校驗(yàn).
6.二次校驗(yàn)確認(rèn)后,服務(wù)器調(diào)用MCNP程序進(jìn)行自動(dòng)化仿真.
7.仿真結(jié)束后,將仿真結(jié)果發(fā)送到前端進(jìn)行展示.若結(jié)果有誤,則跳轉(zhuǎn)到1、2、3步重新進(jìn)行仿真.若結(jié)果正確,則用戶(hù)可以選擇結(jié)束這次仿真或?qū)⒎抡娼Y(jié)果作為其它仿真的輸入?yún)?shù).
可視化顧名思義就是將數(shù)據(jù)轉(zhuǎn)換成圖形展示出來(lái),再供用戶(hù)進(jìn)行交互處理.具體到MCNP的輸入文件,即inp文件主要包括柵元卡、曲面卡和數(shù)據(jù)卡.柵元卡描述區(qū)域的形狀和材料,曲面卡描述構(gòu)成柵元的曲面信息,數(shù)據(jù)卡則描述仿真計(jì)算的各類(lèi)參數(shù),包括柵元重要性卡、材料信息卡、源描述卡、計(jì)數(shù)卡等.inp輸入文件的可視化不只包含幾何模型的幾何可視化,柵元的材料、密度、重要性等以及輻射源的類(lèi)型、能量、輻射方向等的數(shù)據(jù)可視化也是整個(gè)可視化模塊中重要的一部分.
WebGL是一種3D繪圖協(xié)議,它可以為HTML5 Canvas提供硬件3D加速渲染,而Three JS Editor是在對(duì)WebGL進(jìn)一步封裝后開(kāi)發(fā)的開(kāi)源前端編輯器框架.結(jié)合MCNP輸入文件的特點(diǎn),其可視化模塊結(jié)構(gòu)如圖4所示.
其中云代表仿真平臺(tái)返回的初始化數(shù)據(jù),橢圓代表用戶(hù)的操作,矩形代表可視化窗口.用戶(hù)在可視化環(huán)境中的交互處理主要有以下4個(gè)部分:
1)輕量幾何設(shè)置.基于Three JS提供的API為用戶(hù)提供一些簡(jiǎn)單幾何形狀(長(zhǎng)方體、圓柱、球體等)的設(shè)置,主要是為了能夠以igs模型為主設(shè)計(jì)個(gè)性化模型以及提供不同類(lèi)型輻射源.
2)定制化操作設(shè)置.因仿真計(jì)算以及仿真目的的不同,在仿真模型的設(shè)計(jì)過(guò)程中很可能會(huì)需要一些特定的模型操作.而定制化操作就是為了方便用戶(hù)進(jìn)行特定模型設(shè)置.
3)仿真參數(shù)設(shè)置.經(jīng)過(guò)以上兩個(gè)步驟就基本完成了幾何模型的定義,仿真參數(shù)設(shè)置即對(duì)輸入文件中數(shù)據(jù)卡的內(nèi)容進(jìn)行設(shè)置.
4)數(shù)據(jù)校驗(yàn).模型轉(zhuǎn)換中間件根據(jù)相關(guān)的json數(shù)據(jù)以及igs數(shù)據(jù)生成inp文件并傳回可視化模塊供用戶(hù)校驗(yàn).這主要是為了防止使用者在模型設(shè)計(jì)過(guò)程中的疏忽以及模型轉(zhuǎn)換后的精度缺失.
以MCNP計(jì)算為例,我們?cè)谄涠ㄖ苹僮髦饕紤]了輸入文件中幾何模型的嚴(yán)謹(jǐn)性與完整性[12]以及數(shù)據(jù)卡中的源數(shù)據(jù)卡.
嚴(yán)謹(jǐn)性主要指幾何模型中相鄰實(shí)體必須嚴(yán)格共面,不能有重疊或縫隙.
完整性指的是MCNP計(jì)算模型中的實(shí)體必須充滿(mǎn)整個(gè)空間,不能有未定義的空腔.
每一個(gè)MCNP的計(jì)算問(wèn)題都需要設(shè)置源,而在以往的大部分工作中大多將重點(diǎn)聚焦于幾何模型也就是輸入文件中曲面卡和柵元卡數(shù)據(jù)的生成上,而對(duì)輻射源的設(shè)計(jì)較簡(jiǎn)單[10,13].這一方面是由于幾何模型是輸入文件中最關(guān)鍵的,另一方面則是因?yàn)樵吹脑O(shè)置相對(duì)比較簡(jiǎn)單.但是對(duì)于一些粒子源數(shù)量較多或者非粒子源的仿真計(jì)算,其源的設(shè)置也是比較復(fù)雜的.為此,可視化環(huán)境中提供了多類(lèi)型輻射源的設(shè)置功能.
除了源位置、輻射方向、仿真參數(shù)等設(shè)置方式相同的參數(shù)外,輻射源設(shè)置中針對(duì)不同類(lèi)型的輻射源(點(diǎn)、面、體、柵元)提供了不同的參數(shù)設(shè)置過(guò)程.在點(diǎn)源的設(shè)置過(guò)程中,提供了多點(diǎn)源的設(shè)置.在面源和體源的設(shè)置過(guò)程中,針對(duì)不同的幾何形狀或幾何體提供不同的幾何參數(shù)設(shè)置,最后將其類(lèi)型設(shè)為輻射源(默認(rèn)添加的幾何體為普通柵元).
模型轉(zhuǎn)換中間件主要實(shí)現(xiàn)從igs模型到obj模型、可視化模型到MCNP模型的轉(zhuǎn)換以及相關(guān)的數(shù)據(jù)調(diào)度.模型轉(zhuǎn)換中間件的層次架構(gòu)如圖5所示.
圖5 模型轉(zhuǎn)換中間件架構(gòu)
其中igs到obj的轉(zhuǎn)換使用開(kāi)源的FreeCAD工具包進(jìn)行,而inp文件的生成需要結(jié)合igs文件與json數(shù)據(jù),其中包括幾何數(shù)據(jù)和參數(shù)數(shù)據(jù),相對(duì)比較復(fù)雜.不過(guò)對(duì)于igs文件到inp文件的轉(zhuǎn)換,國(guó)內(nèi)外已有了較為成熟的研究.陳艾華[14]針對(duì)簡(jiǎn)單幾何體的轉(zhuǎn)換做了相關(guān)研究和實(shí)現(xiàn),李俊偉[14]則對(duì)更復(fù)雜的圖形進(jìn)行了研究和實(shí)現(xiàn).因此在輸入文件轉(zhuǎn)換方面,本文將主要介紹igs文件的信息與json數(shù)據(jù)的信息結(jié)合部分.
igs文件主要提供inp文件中柵元卡和曲面卡的數(shù)據(jù),而json數(shù)據(jù)可以分為3類(lèi):1.仿真參數(shù),提供數(shù)據(jù)卡內(nèi)主要參數(shù).2.幾何模型,可視化環(huán)境中添加的幾何體參數(shù),提供柵元卡和曲面卡部分?jǐn)?shù)據(jù).3.幾何模型相關(guān)參數(shù),如材料層數(shù)、厚度等需要聯(lián)合柵元卡和曲面卡的數(shù)據(jù)生成新數(shù)據(jù)或更改、刪除舊數(shù)據(jù)的參數(shù).輸入文件轉(zhuǎn)換過(guò)程如圖6所示.
圖6 輸入文件轉(zhuǎn)換過(guò)程
輸入文件轉(zhuǎn)換首先進(jìn)行igs文件處理,提取出igs文件中的幾何模型存入柵元卡和曲面卡緩存中(注意相同、相鄰曲面去重).之后的json數(shù)據(jù)處理根據(jù)數(shù)據(jù)類(lèi)型分為3步:1)幾何模型,計(jì)算并寫(xiě)入緩存中.2)幾何模型相關(guān)參數(shù),根據(jù)參數(shù)讀取有關(guān)的柵元、曲面數(shù)據(jù),計(jì)算修改、新增的幾何數(shù)據(jù)并寫(xiě)入緩存中.3)仿真參數(shù),調(diào)用腳本、數(shù)據(jù)庫(kù)等生成數(shù)據(jù)卡數(shù)據(jù)并寫(xiě)入緩存中.轉(zhuǎn)換完成后將緩存中數(shù)據(jù)寫(xiě)入inp文件并保存.
仿真計(jì)算中間件主要負(fù)責(zé)調(diào)度和管理仿真計(jì)算微服務(wù)和相關(guān)數(shù)據(jù),是利用轉(zhuǎn)換后的inp文件調(diào)用MCNP程序進(jìn)行仿真并進(jìn)行流程記錄和管理的部分.在本地進(jìn)行仿真計(jì)算時(shí),可以直接調(diào)用MCNP程序.而在平臺(tái)上,為了實(shí)現(xiàn)自動(dòng)化仿真、仿真記錄、流程控制等,我們以微服務(wù)的形式將仿真計(jì)算業(yè)務(wù)部署到計(jì)算節(jié)點(diǎn)上,通過(guò)中間件管理和調(diào)度仿真服務(wù).MCNP仿真計(jì)算中間件工作流程如下:
1)獲得校驗(yàn)后的inp文件后,將其上傳到FTP服務(wù)器中.
2)以消息隊(duì)列的方式發(fā)送仿真消息.
3)計(jì)算節(jié)點(diǎn)接收到仿真消息后,通過(guò)FTP服務(wù)器獲取inp文件進(jìn)行MCNP計(jì)算.
4)計(jì)算節(jié)點(diǎn)完成計(jì)算后將仿真結(jié)果out文件(MCNP程序輸出文件)上傳到FTP服務(wù)器.
5)以消息隊(duì)列的方式發(fā)送仿真完成消息.
6)服務(wù)器接收到仿真完成消息,通過(guò)FTP服務(wù)器獲取out文件.
系統(tǒng)測(cè)試主要展示了一個(gè)ProE三維模型到可視化展示、編輯再到模型轉(zhuǎn)換和仿真結(jié)果的具體流程.
測(cè)試所采用的幾何模型使用ProE軟件進(jìn)行設(shè)計(jì)并導(dǎo)出為igs文件(模型設(shè)計(jì)只以測(cè)試為目的,并不涉及實(shí)際使用模型),模型由兩個(gè)圓臺(tái)半球組合體嵌套而成.此模型結(jié)構(gòu)相對(duì)復(fù)雜,能有效測(cè)試可視化仿真系統(tǒng)的可視化性能以及轉(zhuǎn)換算法準(zhǔn)確率.幾何模型如圖7所示.
圖7 測(cè)試使用的幾何模型
在系統(tǒng)中導(dǎo)入上述模型的igs文件并設(shè)置總體參數(shù)后,可視化界面加載初始幾何體.設(shè)置柵元相關(guān)參數(shù)、輻射源參數(shù)并添加關(guān)注點(diǎn)和包圍殼(參數(shù)設(shè)置只以測(cè)試為目的,并不涉及實(shí)際使用參數(shù)).可視化界面如圖8所示.
圖8 可視化界面
可視化頁(yè)面主要包含工具欄、可視化部分、模型列表和參數(shù)設(shè)置欄.
點(diǎn)擊確認(rèn)按鈕,可視化模塊的數(shù)據(jù)轉(zhuǎn)換中間件將用戶(hù)設(shè)置的參數(shù)轉(zhuǎn)化為json數(shù)據(jù)傳送到服務(wù)器中.
平臺(tái)接收到j(luò)son數(shù)據(jù)后結(jié)合igs文件進(jìn)行輸入文件轉(zhuǎn)換,轉(zhuǎn)換完成后,調(diào)用MCNP軟件進(jìn)行仿真.根據(jù)以上幾何模型以及參數(shù)設(shè)置,MCNP仿真結(jié)果文件開(kāi)頭部分如圖9所示,其包含了MCNP的水印信息以及輸入文件內(nèi)容.
圖9 轉(zhuǎn)換結(jié)果
可以看到柵元卡數(shù)據(jù)中包含了igs文件中的兩個(gè)圓臺(tái)半球組合體柵元以及包圍殼、空腔柵元.材料卡中包含了重要性、源卡、材料卡等在可視化環(huán)境中設(shè)置的參數(shù).
本文結(jié)合B/S架構(gòu)與微服務(wù)架構(gòu)設(shè)計(jì)了一種空間輻射效應(yīng)可視化仿真系統(tǒng),使用云計(jì)算與微服務(wù)架構(gòu)開(kāi)發(fā)仿真平臺(tái),利用WEB GL技術(shù)、中間件技術(shù)實(shí)現(xiàn)基于MCNP的可視化仿真.隨后給出了通用可視化仿真架構(gòu),并詳細(xì)闡述了MCNP可視化仿真的設(shè)計(jì)與實(shí)現(xiàn).系統(tǒng)測(cè)試結(jié)果表明,該系統(tǒng)能夠以可視化的方式為用戶(hù)提供inp文件的模型展示、輕量幾何操作以及參數(shù)編輯.除此之外系統(tǒng)還為用戶(hù)并提供了流程定制、自動(dòng)化仿真等功能,從而減輕仿真人員工作量、提升仿真交互性、提高仿真效率.
目前,仿真系統(tǒng)還存在對(duì)材料層數(shù)、厚度等參數(shù)轉(zhuǎn)換不準(zhǔn)確以及不能對(duì)幾何模型細(xì)粒度操作等問(wèn)題.下一步還將根據(jù)實(shí)際仿真體驗(yàn)與需求對(duì)仿真系統(tǒng)進(jìn)一步升級(jí).