摘 要: 針對(duì)手工編寫MCNP輸入文件中幾何模塊容易出錯(cuò)的問(wèn)題,采用Spatial公司推出ACIS提供的API函數(shù)、C++類和DI函數(shù)3種開發(fā)接口,實(shí)現(xiàn)根據(jù)給定的CAD模型得到該模型中所有曲面的面方程,在曲面與坐標(biāo)軸不平行時(shí),以輔助坐標(biāo)系的形式簡(jiǎn)化面方程,最終自動(dòng)生成MCNP格式的曲面卡。通過(guò)對(duì)不同模型的驗(yàn)證,該方法可以正確生成曲面卡,能提高編寫MCNP輸入文件的效率。
關(guān)鍵字: MCNP 輸入文件; 曲面卡; ACIS; CAD
中圖分類號(hào): TN391?09 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2013)10?0094?04
MCNP(Monte Carlo N?Particle transport code)是由美國(guó)LosAlamos國(guó)家實(shí)驗(yàn)室研制開發(fā)的通用中性粒子輸運(yùn)計(jì)算程序,用于計(jì)算中子、光子、電子或中子?光子的耦合輸運(yùn)問(wèn)題,也可以計(jì)算臨界系統(tǒng)(包括次臨界及超臨界)的本征問(wèn)題,廣泛應(yīng)用于多個(gè)學(xué)科領(lǐng)域[1]。
盡管MCNP具有較強(qiáng)的幾何處理能力,但是MCNP程序要求使用人員具有較強(qiáng)的專業(yè)水平,且缺乏有效的建模軟件,必須以方程來(lái)定義曲面,再用曲面的半空間方向上的交、并、余來(lái)定義實(shí)體的方式來(lái)描述三維幾何實(shí)體[2],且MCNP輸入文件的結(jié)構(gòu)復(fù)雜,格式要求嚴(yán)格,目前輸入文件基本上都是以手工方式編寫完成的[3]。實(shí)踐表明,不借助任何軟件而直接根據(jù)CAD模型來(lái)得到輸入文件時(shí),不僅極為抽象、不直觀,而且容易出錯(cuò)。
針對(duì)這一問(wèn)題,從20世紀(jì)90年代開始,國(guó)內(nèi)外已經(jīng)有研究人員為了簡(jiǎn)化MCNP輸入文件的制作以及計(jì)算數(shù)據(jù)的抽取與顯示,研究開發(fā)了專用的MCNP程序可視化運(yùn)行平臺(tái),并能以圖形化的方式顯示MCNP的計(jì)算進(jìn)程和運(yùn)行時(shí)間的相關(guān)信息。特別是隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,在近幾年取得了一些有價(jià)值的研究成果[4],開發(fā)的MCNP可視化軟件,如MCNP Visual Editor[5],Sabrina[5],Moritz[5]和中國(guó)科學(xué)院等離子體物理研究所FDS團(tuán)隊(duì)開發(fā)的自動(dòng)建模可視化軟件系統(tǒng) MCAM[6?7],能將目前商用CAD軟件中繪制的計(jì)算場(chǎng)景的幾何模型轉(zhuǎn)換為MCNP的仿真模型。MCNP模型包括MCNP幾何模型和MCNP物理模型兩部分,兩者均以文本形式表示,共同組成MCNP輸入文件。其中幾何模型是指計(jì)算對(duì)象的幾何形體以及附加在幾何形體上的其他信息,即輸入文件中的幾何塊卡(Cell Cards)、曲面卡(Surface Cards)和坐標(biāo)轉(zhuǎn)換卡(TR)。目前因此由CAD模型生成MCNP幾何模型中曲面卡是MCNP可視化軟件中的關(guān)鍵問(wèn)題之一[8]。
1 ACIS介紹
2 方案設(shè)計(jì)及實(shí)現(xiàn)過(guò)程
2.1 旋轉(zhuǎn)卡
2.2 ACIS中SPAtransf類
ACIS中的類SPAtransf描述了一個(gè)常規(guī)的3維仿射變換,該類定義了affine_part 和translation_part兩個(gè)成員變量。其中,affine_part的類型為SPAmatrix,是該仿射變換的旋轉(zhuǎn)矩陣部分,translation_part的類型為SPAvector,是該仿射變換的平移部分。經(jīng)過(guò)測(cè)試,矩陣affine_part中的9個(gè)值對(duì)應(yīng)于旋轉(zhuǎn)卡中的B1~B9,向量translation_part對(duì)應(yīng)旋轉(zhuǎn)卡中的O1~O3,因此可以根據(jù)類SPAtransf可以很方便的描述曲面的旋轉(zhuǎn)卡。
2.3 具體實(shí)現(xiàn)過(guò)程
對(duì)于給定的幾何體,枚舉出該幾何體所有的面后,使用ACIS中的類FACE提供的函數(shù)face→geometry()→type_name()可以得到該面的類型,根據(jù)面的類型使用相應(yīng)的ACIS構(gòu)造幾何類獲取該面的基本參數(shù),經(jīng)過(guò)計(jì)算得到該面的方程,從而自動(dòng)生成MCNP格式的曲面描述。下面從曲面的方向與坐標(biāo)軸的關(guān)系來(lái)介紹具體的實(shí)現(xiàn)過(guò)程。
4 結(jié) 語(yǔ)
本文針對(duì)MCNP輸入文件結(jié)構(gòu)復(fù)雜、幾何模型描述工作容易出錯(cuò)的特點(diǎn),提出了根據(jù)模型的幾何結(jié)構(gòu)信息,將傳統(tǒng)的手工編寫輸入卡文件中的曲面卡轉(zhuǎn)化為由計(jì)算機(jī)自動(dòng)生成的方法,并得到實(shí)踐的檢驗(yàn)。該方法在一定程度上提高了 MCNP輸入文件的制作效率,同時(shí)也提高了曲面卡的準(zhǔn)確性,為廣大 MCNP程序的研究人員提供了一種有價(jià)值的參考。但同時(shí)也存在著不足之處,如果在導(dǎo)入的模型中存在雙曲面、拋物面或樣條面,則無(wú)法給出該面的描述,需要在MCNP精度允許下用近似的其他曲面來(lái)替換。
參考文獻(xiàn)
[1] BRIESMEISTER J F. MCNP4C general Monte Carlo N?particle transport code, LA?13709?M [R]. USA: Los Alamos National Laboratory, 2000: 1?10.
[2] 劉曉平,王浩,吳宜燦.基于半空間理論的蒙特卡羅輸運(yùn)仿真模型研究[J].計(jì)算機(jī)應(yīng)用,2000,20(8):208?209.
[3] 丁愛(ài)平,李瑩,盧磊.粒子輸運(yùn)計(jì)算模型MCNP模型的可視化實(shí)現(xiàn)[J].原子核物理評(píng)論,2006,23(2):130?133.
[4] 張建生,蔡勇,陳念年.MCNP程序研究進(jìn)展[J].原子核物理評(píng)論,2008,25(1):48?51.
[5] SCHWARZ R A, CARTER L L. Current state of Monte Carlo visualization tools [C]// Proceedings of the Monte Carlo 2000 Conference on Advanced Monte Carlo for Radiation Physics, Particle Transport Simulation and Applications. Lisbon Portugal: Springer?Verlag, 2000: 815?819.
[6] 吳宜燦,李瑩,盧磊.蒙特卡羅粒子輸運(yùn)計(jì)算自動(dòng)建模程序系統(tǒng)的研究與發(fā)展[J].核科學(xué)與工程,2006,26(1):20?27.
[7] 曾勤,盧磊,李瑩.蒙特卡羅粒子輸運(yùn)計(jì)算自動(dòng)建模程序MCAM在 ITER核分析建模中的應(yīng)用[J].原子核物理評(píng)論,2006,23(2):138?141.
[8] 羅月童,孫靜,薛曄.基于轉(zhuǎn)換特征的三維BREP模型的CSG樹自動(dòng)生成算法[J].現(xiàn)代電子技術(shù),2007,30(20):56?59.
[9] Spatial. 3D ACIS Modeler[EB/OL]. [2009?08?10]. http://www.evget.com/zh?CN/product/2157/feature.aspx.
[10] 吳敏.基于3D組件的CAE 前后處理軟件開發(fā)[EB/OL].[2012?04?01].http://www.spatial.com.cn.