本發(fā)明涉及蒙特卡洛粒子輸運(yùn)計(jì)算,具體涉及一種gpu并行的蒙特卡洛光原子反應(yīng)抽樣方法。
背景技術(shù):
1、蒙特卡洛粒子輸運(yùn)方法是一種基于概率論的粒子輸運(yùn)求解方法,由于其可以準(zhǔn)確的模擬介質(zhì)中粒子輸運(yùn)的物理過程,近五十年來該方法得到了廣泛的應(yīng)用。蒙特卡洛粒子輸運(yùn)方法具有隨機(jī)性,需要模擬大量的粒子歷史以達(dá)到理想的統(tǒng)計(jì)精度,消耗大量的計(jì)算資源。隨著gpu的不斷發(fā)展以及蒙特卡洛方法天然適合并行,越來越多人在gpu上開發(fā)蒙特卡洛粒子輸運(yùn)程序。
2、然而傳統(tǒng)的蒙特卡洛光原子反應(yīng)抽樣方法并不適用于gpu并行。傳統(tǒng)的蒙特卡洛光原子反應(yīng)抽樣方法存在大量的分支流程,不同的線程可能會(huì)進(jìn)入不同的代碼分支。但gpu相同核心的線程只能執(zhí)行相同的代碼,這就使得傳統(tǒng)方法在gpu上的并行效率很低。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出了一種gpu并行的蒙特卡洛光原子反應(yīng)抽樣方法,該方法適用于gpu并行且計(jì)算精度與傳統(tǒng)方法相當(dāng),解決了傳統(tǒng)抽樣方法在gpu上并行效率低的問題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明采取如下的技術(shù)方案:
3、一種gpu并行的蒙特卡洛光原子反應(yīng)抽樣方法,包括以下步驟:
4、步驟1:通過相干散射和康普頓散射微分截面公式計(jì)算散射角余弦的概率密度函數(shù),并將概率密度函數(shù)離散成二維插值表;
5、(1)相干散射
6、光子與束縛在原子核里的電子發(fā)生彈性散射的過程稱為相干散射,相干散射微分截面采用如下公式計(jì)算:
7、
8、式中:
9、——相干散射微分截面/barn;
10、μ——散射角余弦;
11、e——入射光子能量/mev;
12、re——電子經(jīng)典半徑,re=2.81794×10-13cm
13、f(x,z)——相干散射原子形狀因子;
14、x——光子動(dòng)量轉(zhuǎn)移量/
15、z——原子序數(shù)。
16、相干散射的概率密度函數(shù)為:
17、
18、式中:
19、pcoh(e,μ)——相干散射的概率密度函數(shù);
20、σcoh(e)——入射光子能量為e時(shí)相干散射截面/barn。
21、其中,光子動(dòng)量轉(zhuǎn)移量x與入射光子能量e和散射角余弦μ存在以下關(guān)系:
22、
23、式中:
24、k——入射光子能量與電子靜止能量的比值;
25、e——入射光子能量/mev。
26、結(jié)合公式(2)和公式(3)能夠看出相同核素相干散射的概率密度函數(shù)只與入射光子能量和散射角余弦有關(guān)。因此,選取入射光子能量網(wǎng)格(e1,e2,e3······en)、散射角余弦網(wǎng)格(μ1,μ2,μ3······μm)對(duì)概率密度函數(shù)進(jìn)行離散,網(wǎng)格點(diǎn)之間采用線性插值,即可得到相干散射的概率密度函數(shù)的二維插值表。
27、(2)康普頓散射
28、光子與束縛電子發(fā)生康普頓散射的微分截面采用以下公式進(jìn)行計(jì)算:
29、
30、式中:
31、——康普頓散射微分截面/barn;
32、k′——出射光子能量與電子靜止能量的比值;
33、s(x,z)——康普頓散射形狀因子。
34、其中k,k′,μ存在以下關(guān)系:
35、
36、將公式(5)帶入公式(4),可得康普頓散射的概率密度函數(shù)為:
37、
38、式中:
39、pinc(e,μ)——康普頓散射的概率密度函數(shù);
40、σinc(e)——入射光子能量為e時(shí)康普頓散射截面/barn;
41、其中,光子動(dòng)量轉(zhuǎn)移量x與入射能量e和散射角余弦μ存在以下關(guān)系:
42、
43、同理,相同核素康普頓散射的概率密度函數(shù)只與入射光子能量和散射角余弦有關(guān)。因此,選取入射光子能量網(wǎng)格(e1,e2,e3······en)、散射角余弦網(wǎng)格(μ1,μ2,μ3······μm)對(duì)概率密度函數(shù)進(jìn)行離散,網(wǎng)格點(diǎn)之間采用線性插值,即可得到康普頓散射的概率密度函數(shù)的二維插值表。
44、步驟2:將相干散射和康普頓散射的概率密度函數(shù)的二維插值表對(duì)散射角余弦進(jìn)行積分,得到概率分布函數(shù)關(guān)于入射光子能量和散射角余弦的二維插值表;
45、相干散射和康普頓散射的概率分布函數(shù)通過對(duì)概率密度函數(shù)進(jìn)行積分得到,采用梯形積分,計(jì)算公式如下所示:
46、
47、式中:
48、ccoh(e,μj)、cinc(e,μj)——相干散射、康普頓散射的概率分布函數(shù);
49、pcoh(e,μi)、pinc(e,μi)——相干散射、康普頓散射在μi處的概率密度函數(shù);
50、pcoh(e,μi+1)、pinc(e,μi+1)——相干散射、康普頓散射在μi+1處概率密度函數(shù);
51、i、j——計(jì)數(shù)標(biāo)識(shí)符。
52、步驟3:對(duì)入射光子能量和概率分布函數(shù)進(jìn)行抽樣,根據(jù)抽樣結(jié)果插值得出次級(jí)光子散射角余弦。再通過次級(jí)光子散射角余弦與出射能量的關(guān)系計(jì)算出次級(jí)光子出射能量;
53、先對(duì)入射光子能量進(jìn)行抽樣,選擇使用哪個(gè)入射光子能量下的概率分布函數(shù)。對(duì)于入射光子能量為e的光子,如果e≤e1則使用e1;如果e≥en則使用en;如果e∈(ei,ei+1),有抽取一個(gè)隨機(jī)數(shù)ξ1,如果ξ1≤f則使用ei+1,反之則使用ei。
54、對(duì)入射光子能量抽樣之后再對(duì)散射角余弦進(jìn)行抽樣。假設(shè)抽到的入射光子能量為ei,抽取一個(gè)隨機(jī)數(shù)ξ2,且c(ei,μj)<ξ2c(ei,μm)<c(ei,μj+1),散射角余弦可由下式得出:
55、
56、式中:
57、μ——散射角余弦;
58、
59、p(ei,μj)——入射能量為ei散射角余弦為μj時(shí)的概率密度函數(shù);
60、c(ei,μj)——入射能量為ei散射角余弦為μj時(shí)的概率分布函數(shù);
61、μm——散射角余弦的最大網(wǎng)格點(diǎn)。
62、完成散射角余弦的抽樣后需要通過散射角余弦與出射光子能量的關(guān)系計(jì)算出次級(jí)光子出射能量。對(duì)于相干散射:次級(jí)光子出射能量與入射能量相同e′=e。對(duì)于康普頓散射,次級(jí)光子能量為:
63、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn):
64、(1)現(xiàn)有技術(shù)存在大量分支流程,在gpu上的并行效率很低;本發(fā)明沒有分支流程,在gpu上能夠達(dá)到很高的并行效率。
65、(2)現(xiàn)有技術(shù)在光子能量較低時(shí)抽樣效率較低,需要多次循環(huán)計(jì)算;本發(fā)明只需一次計(jì)算即可完成抽樣。
1.一種gpu并行的蒙特卡洛光原子反應(yīng)抽樣方法,其特征在于:包括以下步驟: