姚志明,黑東煒,宋顧周,馬繼明,韓長(zhǎng)材,段寶軍,岳志勤
(西北核技術(shù)研究所強(qiáng)脈沖輻射環(huán)境模擬與效應(yīng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,西安 710024)
基于Geant4的質(zhì)子輸運(yùn)計(jì)算的加速方法研究
姚志明,黑東煒,宋顧周,馬繼明,韓長(zhǎng)材,段寶軍,岳志勤
(西北核技術(shù)研究所強(qiáng)脈沖輻射環(huán)境模擬與效應(yīng)國(guó)家重點(diǎn)實(shí)驗(yàn)室,西安 710024)
質(zhì)子在醫(yī)學(xué)、材料科學(xué)、輻射成像等領(lǐng)域有著廣闊的應(yīng)用前景,質(zhì)子輸運(yùn)過(guò)程的數(shù)值模擬是質(zhì)子應(yīng)用理論分析的重要手段。本研究基于Geant4軟件編寫(xiě)了蒙卡模擬程序,研究了程序的加速方法。結(jié)果表明,次級(jí)粒子截?cái)嗪筒⑿杏?jì)算可以有效加快程序的運(yùn)行速度。程序易于擴(kuò)展,為質(zhì)子應(yīng)用的快速模擬奠定了基礎(chǔ)。
質(zhì)子輸運(yùn);蒙特卡羅;加速方法;次級(jí)粒子截?cái)?;并行?jì)算
質(zhì)子在醫(yī)學(xué)、材料科學(xué)、輻射成像等領(lǐng)域有著廣泛的應(yīng)用。目前,國(guó)內(nèi)有多臺(tái)質(zhì)子加速器已經(jīng)建成或正在建設(shè)當(dāng)中,它們有著不同的應(yīng)用前景。例如,中國(guó)原子能科學(xué)研究院的回旋加速器上開(kāi)展了很多國(guó)防核技術(shù)和核物理的研究工作[1];上海應(yīng)用物理研究所正在研制用于惡性腫瘤治療的質(zhì)子治療裝置[2];在建的中國(guó)散裂中子源的質(zhì)子加速器計(jì)劃用于空間輻射效應(yīng)模擬和質(zhì)子照相;等等。
數(shù)值模擬計(jì)算可以為粒子的應(yīng)用提供理論指導(dǎo)和依據(jù)。數(shù)值模擬中的蒙特卡羅方法通過(guò)隨機(jī)抽樣,能夠比較真實(shí)地反映粒子的輸運(yùn)過(guò)程[3]。目前,模擬質(zhì)子輸運(yùn)的軟件包括SRIM、MCNP、MCNPX、Geant4等,其中Geant4允許用戶二次開(kāi)發(fā),容易根據(jù)實(shí)際需要對(duì)程序進(jìn)行改進(jìn)和擴(kuò)展。
基于 Geant4的模擬質(zhì)子輸運(yùn)的研究比較豐富[4-6],加速方法的研究卻較少。文獻(xiàn)[7,8]中給出了通用的并行計(jì)算加快模擬速度的方法。然而,針對(duì)質(zhì)子輸運(yùn)過(guò)程的特點(diǎn)對(duì)Geant4程序進(jìn)行加速的方法未見(jiàn)報(bào)道。
本研究以10 GeV的質(zhì)子在FTO (French Test Object)中的輸運(yùn)過(guò)程為例,基于Geant4建立蒙卡模擬程序[9,10],探討加快質(zhì)子輸運(yùn)模擬速度的方法。
質(zhì)子與物質(zhì)的作用過(guò)程主要有電離能損、多次庫(kù)侖散射、與原子核的彈性碰撞和非彈性碰撞[11]。電離能損是質(zhì)子與很多核外電子碰撞,每次碰撞電子獲得一部分能量,質(zhì)子的能量隨之減小。多次庫(kù)侖散射是當(dāng)質(zhì)子與原子最近距離比原子半徑小時(shí),受到原子核電場(chǎng)的作用,在庫(kù)侖力作用下運(yùn)動(dòng)方向發(fā)生改變。與原子核碰撞時(shí)質(zhì)子受到核力的作用,按質(zhì)子能量是否發(fā)生改變分為彈性和非彈性碰撞。彈性碰撞按照原子處于基態(tài)和激發(fā)態(tài)可細(xì)分為彈性碰撞和準(zhǔn)彈性碰撞,質(zhì)子的運(yùn)動(dòng)方向發(fā)生較大偏轉(zhuǎn);非彈性碰撞是原子核俘獲質(zhì)子,發(fā)生核反應(yīng),核反應(yīng)過(guò)程中釋放次級(jí)粒子,導(dǎo)致入射質(zhì)子的個(gè)數(shù)損失,并可能產(chǎn)生能量較低的次級(jí)質(zhì)子。本文10 GeV質(zhì)子在FTO輸運(yùn)過(guò)程中以上四種作用都會(huì)發(fā)生,導(dǎo)致質(zhì)子的能量損失、個(gè)數(shù)衰減和方向偏轉(zhuǎn)。其中非彈性碰撞產(chǎn)生的中子、γ射線等次級(jí)粒子對(duì)結(jié)果貢獻(xiàn)小,模擬耗時(shí)多,截?cái)嗪罂梢蕴岣哂?jì)算速度。
Geant4軟件采用模塊化設(shè)計(jì),由不同的模塊分別實(shí)現(xiàn)探測(cè)器幾何結(jié)構(gòu)定義、粒子與物質(zhì)相互作用過(guò)程描述、跟蹤并記錄粒子的狀態(tài)和改變、中止次級(jí)粒子的產(chǎn)生等[10]。圖1給出了軟件的一些常用的類、子函數(shù)以及它們的功能。
模擬程序的幾何布局如圖2所示。Construct函數(shù)中定義物體的材料和幾何結(jié)構(gòu)。物體選為FTO[11],它是高能閃光照相中使用的一種通用測(cè)試對(duì)象,是由鎢、銅和塑料組成的多層同心球,內(nèi)半徑分別為1 cm、4.5 cm、6.5 cm,塑料的外半徑為22.5 cm。物體后1 mm處放置1 mm厚的足夠大長(zhǎng)方體,定義為敏感探測(cè)器。Geant4中的物理過(guò)程比較豐富,采用的物理模型也有多種選擇,為方便用戶的使用,Geant4開(kāi)發(fā)人員將物理模型打包,定義了多種physic list,其中包含了質(zhì)子與物質(zhì)作用的全部物理過(guò)程和產(chǎn)生的中子、伽瑪?shù)却渭?jí)粒子的作用過(guò)程。本文選取了physic list中的QGSP_BERT物理過(guò)程列表。GeneratePrimaries函數(shù)中設(shè)置發(fā)射粒子的參數(shù)信息。粒子類型為質(zhì)子,初始能量為 10 GeV,發(fā)射方向沿 z軸正方向。ProcessHits、Print、EndOfEvent函數(shù)中定義敏感探測(cè)器的功能,用于粒子信息的記錄。當(dāng)粒子打到敏感探測(cè)器上,在ProcessHits函數(shù)中將該粒子的出射位置、運(yùn)動(dòng)方向、類型、動(dòng)能和輸運(yùn)編號(hào)存儲(chǔ)在一個(gè)Hit中。在Print函數(shù)中定義Hit中各信息的輸出格式。當(dāng)發(fā)射的一個(gè)質(zhì)子輸運(yùn)完成后,EndOfEvent函數(shù)調(diào)用Print函數(shù)將各信息存儲(chǔ)在文本文件中,供分析使用。
3.1次級(jí)粒子截?cái)?/p>
質(zhì)子輸運(yùn)過(guò)程中發(fā)生核反應(yīng)會(huì)產(chǎn)生大量中子、γ射線和低能量的質(zhì)子。除低能量的質(zhì)子外,還會(huì)產(chǎn)生一定數(shù)量的電子、μ介子、π介子等其他帶電粒子。這些次級(jí)粒子的輸運(yùn)過(guò)程模擬會(huì)耗費(fèi)大量時(shí)間。Geant4中的G4VUserStackingAction類可以對(duì)粒子的信息進(jìn)行判斷,實(shí)現(xiàn)次級(jí)粒子的截?cái)?,達(dá)到節(jié)省計(jì)算時(shí)間的目的。然而,次級(jí)粒子的截?cái)嗫赡軙?huì)影響質(zhì)子輸運(yùn)的模擬,本文選取了敏感探測(cè)器記錄到的質(zhì)子總個(gè)數(shù)和直穿質(zhì)子個(gè)數(shù)兩個(gè)參數(shù)來(lái)評(píng)估截?cái)鄬?duì)模擬準(zhǔn)確性的影響。
Geant4軟件運(yùn)行在聯(lián)想ThinkCentre M8380t型號(hào)的計(jì)算機(jī)上,安裝了windows7 32位操作系統(tǒng),CPU頻率為3.4 GHz。
首先,不截?cái)啻渭?jí)粒子,程序?qū)⒛M所有直穿質(zhì)子和次級(jí)粒子的輸運(yùn)過(guò)程。發(fā)射105個(gè)質(zhì)子,時(shí)間由G4Timer類記錄,模擬用時(shí)2 538 s。表1給出了敏感探測(cè)器記錄的粒子種類和個(gè)數(shù)。直穿質(zhì)子和次級(jí)質(zhì)子,可以由輸運(yùn)編號(hào)區(qū)分,輸運(yùn)編號(hào)為1的是直穿質(zhì)子,大于1的是次級(jí)質(zhì)子。
表1 不截?cái)喈a(chǎn)生的粒子個(gè)數(shù)Tab.1 Particle generation without cut
圖1 Geant4常用類和函數(shù)結(jié)構(gòu)圖Fig.1 Common class and function of Geant4
圖2 模擬程序的幾何布局示意圖Fig.2 Geometry of the simulation program
然后,在ClassifyNewTrack函數(shù)中分別實(shí)現(xiàn)γ射線、中子和其他帶電粒子的截?cái)?,并考慮了只模擬質(zhì)子和只模擬直穿質(zhì)子的情況。以截?cái)唳蒙渚€為例,ClassifyNewTrack函數(shù)中的程序代碼如下:
表2給出了各情況下模擬所需的時(shí)間,通過(guò)與表1比較,給出了直穿質(zhì)子個(gè)數(shù)和總質(zhì)子個(gè)數(shù)減少的百分比,并計(jì)算了截?cái)嗲昂髸r(shí)間的比值,即加速比。
由表2可以得出以下結(jié)論:第一,截?cái)啻渭?jí)粒子可以有效地減少計(jì)算時(shí)間,截?cái)嗖煌牧W訒r(shí)加速比均達(dá)到了2倍以上。第二,截?cái)嗖煌牧W雍髮?duì)直穿質(zhì)子的個(gè)數(shù)的影響均小于1%,可以認(rèn)為不會(huì)影響直穿質(zhì)子的模擬結(jié)果。第三,截?cái)唳蒙渚€對(duì)總質(zhì)子個(gè)數(shù)的影響小于1%,截?cái)嘀凶雍推渌麕щ娏W雍罂傎|(zhì)子個(gè)數(shù)減少了10%以上,分析原因是由于γ射線與物質(zhì)作用后不會(huì)產(chǎn)生質(zhì)子,截?cái)嗖粫?huì)影響質(zhì)子的模擬結(jié)果,而中子和一些帶電粒子與物質(zhì)作用會(huì)進(jìn)一步產(chǎn)生次級(jí)質(zhì)子,截?cái)噙@些粒子會(huì)使得出射的次級(jí)質(zhì)子有所減少,在需要考慮次級(jí)質(zhì)子輸運(yùn)過(guò)程的應(yīng)用中不能采用。
表2 截?cái)嗪蟮挠?jì)算速度測(cè)試結(jié)果Tab.2 Results of calculation speed testing with cut
3.2并行化加速方法
有關(guān)Geant4程序并行化的研究已較為豐富[7,8]。本研究將并行化方法應(yīng)用于質(zhì)子輸運(yùn)模擬,采用文獻(xiàn)[8]中的方法對(duì)程序進(jìn)行了并行化改造。并行計(jì)算在銀河計(jì)算機(jī)上進(jìn)行,該計(jì)算機(jī)安裝了紅帽公司的Linux服務(wù)器操作系統(tǒng),CPU頻率為1.6 GHz。表3給出了并行化后的測(cè)試結(jié)果。需要說(shuō)明的是,當(dāng)模擬的質(zhì)子個(gè)數(shù)較多時(shí),如果將所有質(zhì)子的信息存儲(chǔ)在一個(gè)文件中,得到的數(shù)據(jù)文件將會(huì)很大,不便于后續(xù)數(shù)據(jù)的統(tǒng)計(jì)分析。在print函數(shù)中可以首先讀取CPU的編號(hào),用編號(hào)為輸出文件命名,將不同CPU的計(jì)算結(jié)果存儲(chǔ)在不同的文件當(dāng)中,解決數(shù)據(jù)文件過(guò)大的問(wèn)題。實(shí)現(xiàn)語(yǔ)句如下:
由表3可以看出,加速比隨CPU個(gè)數(shù)的增加近似成線性增長(zhǎng),與文獻(xiàn)[8]中的結(jié)果一致。與CPU為3.4 GHz的聯(lián)想計(jì)算機(jī)的結(jié)果比較,在只模擬直穿質(zhì)子的條件下,聯(lián)想計(jì)算機(jī)用時(shí)65 s,銀河計(jì)算機(jī)用時(shí)295 s。銀河計(jì)算機(jī)單個(gè)CPU運(yùn)行的速率不及CPU頻率較高的聯(lián)想計(jì)算機(jī),然而,銀河計(jì)算機(jī)上最多可提供的CPU數(shù)達(dá)1 024個(gè),可以根據(jù)需要進(jìn)一步增加CPU的使用個(gè)數(shù)來(lái)提高質(zhì)子輸運(yùn)的模擬速度。
表3 并行程序的計(jì)算速度測(cè)試結(jié)果Tab.3 Results of calculation speed testing of parallel program
本研究基于Geant4軟件建立了模擬10 GeV能量的質(zhì)子穿透FTO過(guò)程的蒙卡程序。重點(diǎn)探討了程序的加速方法,在程序中分別實(shí)現(xiàn)了次級(jí)粒子截?cái)嗪筒⑿杏?jì)算。截?cái)唳?、中子和其他帶電粒子后,加速比均達(dá)到了2倍以上,截?cái)嘀凶雍鸵恍щ娏W訒?huì)使透射的次級(jí)質(zhì)子個(gè)數(shù)有所減少,當(dāng)不需要考慮次級(jí)質(zhì)子輸運(yùn)過(guò)程時(shí)可以采用。質(zhì)子輸運(yùn)模擬程序并行化后的加速比隨CPU使用個(gè)數(shù)的增加呈線性增長(zhǎng),與文獻(xiàn)結(jié)果一致。與單個(gè)CPU不采用粒子截?cái)嗟那闆r相比,只記錄初級(jí)質(zhì)子的16個(gè)CPU并性程序加速比可達(dá)610倍。
[1]張?zhí)炀?,樊明武,李振?guó),等.強(qiáng)流回旋加速器技術(shù)的研究進(jìn)展[J].科學(xué)通報(bào),2009,54(15):2169-2176.
[2]楊朝霞,李德明,張滿洲.基于Geant4模擬的質(zhì)子治療束配系統(tǒng)的束流光學(xué)設(shè)計(jì)[J].核技術(shù),2013,36(7):070201.
[3]許淑艷.蒙特卡羅方法在實(shí)驗(yàn)核物理中的應(yīng)用[M].北京:原子能出版社,2006.
[4]張慧,王振超,關(guān)世榮,等.質(zhì)子能量歧離的Geant4模擬[J].黑龍江科學(xué),2014,1(5):14-16.
[5]路偉.Geant4的開(kāi)發(fā)及其在空間輻射效應(yīng)分析中的應(yīng)用[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué)研究生院,2007:13-15.
[6]聶鵬煊,汪一夫,鄭濤,等.CsI(TI)對(duì)高能質(zhì)子能量響應(yīng)的蒙特卡羅研究[J].武漢科技學(xué)院學(xué)報(bào).2010,23(2):27-32.
[7]王力,李煜,岳騫,等.基于Geant4的射線探測(cè)仿真并行化研究[J].核電子學(xué)與探測(cè)技術(shù),2011,11(11):1237-1240.
[8]謝紅剛,朱金輝,黃流興.Geant4在高性能計(jì)算機(jī)上的并行[C]//第十屆全國(guó)蒙特卡羅方法及其應(yīng)用學(xué)術(shù)會(huì)論文:148-151.
[9]張慧,梅雪松,關(guān)世榮,等.4He離子盧瑟福背散射的Geant4模擬[J].黑龍江科學(xué),2013,1(4):22-24.
[10]Geant4 user's guide for application developers[EB10L].(292-11-30)[2015-03-06]http://geant4.web.cern.ch/geant4/UserDocumentation/ UserGuides/ForApplication Developer/html/index.html.
[11]ZIOCK H J,ADAMS K J,ALRICK K R,et al.The Proton Radiography Concept[R].Los Alamos National Report,LA-UR-98-1368,1998:1-17.
Research on Accelerating Method of Proton Transportation Simulation Program Based on Geant4
YAOZhi-ming,HEI Dong-wei,SONGGu-zhou,MAJi-ming,HANChang-cai,DUANBao-jun,YUE Zhi-qin
(State Key Laboratory of Intense Pulsed Radiation Simulation and Effect,Northwest Institute ofNuclear Technology,Xi'an 710024,China)
Proton has bright future in the field of medical,material analysis and radiography.Numerical simulation provides a good way to analyze the process protons transmitting through materials.This article establishes a Monte Carlo program based on Geant4.The accelerating method is introduced.The result implies that secondary particles cut and program paralleled can shorten the time cost effectively.The program can be easily extended which provides a good foundation for fast simulation ofproton transportation.
Proton transportation;Monte Carlo;Acceleration method;Secondaryparticle cut;Parallel program
TL99
A
1674-8646(2015)07-0007-03
2015-04-09
超快物理過(guò)程射線診斷及應(yīng)用研究(51311060502)
姚志明(1989-),男,吉林輝南人,碩士研究生,助理工程師,主要從事質(zhì)子掃描成像的原理探究。