一種基于空間網(wǎng)格分割的蒙特卡羅粒子輸運(yùn)快速幾何處理方法
【專利摘要】本發(fā)明公開了一種基于空間網(wǎng)格分割的蒙特卡羅粒子輸運(yùn)快速幾何處理方法,基于空間網(wǎng)格分割的思想以及結(jié)合蒙特卡羅粒子輸運(yùn)幾何處理的特點(diǎn),提出了一種基于代價(jià)函數(shù)的空間網(wǎng)格分割方法,根據(jù)最小代價(jià)原則,依次沿各坐標(biāo)軸對(duì)三維幾何模型進(jìn)行空間網(wǎng)格分割,并確定代價(jià)最小時(shí)各網(wǎng)格包含的幾何體,最終得到的空間網(wǎng)格模型即為最優(yōu)模型。采用該模型進(jìn)行蒙特卡羅粒子輸運(yùn)幾何處理時(shí),可根據(jù)粒子空間坐標(biāo)快速進(jìn)行空間網(wǎng)格定位,然后再遍歷該網(wǎng)格所包含的幾何體,可極大程度地減少查詢的候選幾何體的數(shù)目,快速確定粒子所在幾何體,從而加速蒙特卡羅粒子輸運(yùn)模擬計(jì)算,提高蒙特卡羅粒子輸運(yùn)的幾何處理效率。
【專利說明】一種基于空間網(wǎng)格分割的蒙特卡羅粒子輸運(yùn)快速幾何處理 方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于空間網(wǎng)格分割的蒙特卡羅粒子輸運(yùn)快速幾何處理方法,屬于 核科學(xué)中蒙特卡羅粒子輸運(yùn)計(jì)算與數(shù)值模擬研究領(lǐng)域。
【背景技術(shù)】
[0002] 蒙特卡羅粒子輸運(yùn)方法是以統(tǒng)計(jì)學(xué)理論為基礎(chǔ),通過對(duì)大量具有隨機(jī)性質(zhì)特點(diǎn)的 粒子物理事件和物理過程進(jìn)行隨機(jī)模擬來求解粒子輸運(yùn)方程的一種非確定論方法,它廣泛 應(yīng)用反應(yīng)堆物理、醫(yī)學(xué)物理、高能物理和核探測(cè)等領(lǐng)域。相比傳統(tǒng)的確定論方法而言,蒙特 卡羅粒子輸運(yùn)方法的最大優(yōu)點(diǎn)在于,它能夠非常逼真地描述具有隨機(jī)性質(zhì)的事物特點(diǎn)及過 程,并且對(duì)幾何模型和材料限制小,可以精確模擬復(fù)雜源、復(fù)雜材料和復(fù)雜幾何下的粒子輸 運(yùn)問題。然而,它的缺點(diǎn)也非常明顯,其主要在于計(jì)算非常耗時(shí),收斂速度較慢。因此,如何 提高蒙特卡羅粒子輸運(yùn)方法的計(jì)算效率成為該領(lǐng)域近幾年發(fā)展的重點(diǎn)之一。
[0003] 據(jù)統(tǒng)計(jì),蒙特卡羅粒子輸運(yùn)方法在進(jìn)行粒子輸運(yùn)模擬計(jì)算時(shí),30 %?80 %的計(jì)算 時(shí)間主要耗費(fèi)在幾何處理上,因此,如何采用高效的幾何處理方法是提高蒙特卡羅粒子輸 運(yùn)模擬計(jì)算效率的重要研究?jī)?nèi)容之一。在進(jìn)行蒙特卡羅粒子輸運(yùn)模擬時(shí),粒子每隨機(jī)游走 一步,都需要對(duì)其進(jìn)行空間幾何體定位和幾何步長(zhǎng)計(jì)算。幾何體定位指根據(jù)粒子的三維空 間坐標(biāo)數(shù)據(jù),判斷粒子在整個(gè)幾何模型中處于哪一個(gè)具體的幾何體中;幾何步長(zhǎng)計(jì)算指從 當(dāng)前粒子坐標(biāo)所在處,沿某一給定方向向量計(jì)算粒子到它所處幾何體邊界的直線距離。因 此,由于在蒙特卡羅粒子輸運(yùn)模擬時(shí),頻繁地進(jìn)行粒子空間定位和幾何步長(zhǎng)計(jì)算是導(dǎo)致計(jì) 算耗時(shí)的重要原因。
[0004] 對(duì)傳統(tǒng)的蒙特卡羅粒子輸運(yùn)幾何處理方法而言,在進(jìn)行粒子空間定位時(shí),通常需 要遍歷整個(gè)模型中的所有幾何體,其處理的時(shí)間復(fù)雜度為O(N),因此對(duì)于蒙特卡羅粒子輸 運(yùn)幾何處理大規(guī)模復(fù)雜幾何模型時(shí),如核反應(yīng)堆百萬級(jí)Pin-by-Pin模型問題,其幾何處理 效率將會(huì)非常低下,從而嚴(yán)重制約蒙特卡羅粒子輸運(yùn)計(jì)算的效率,也成為蒙特卡羅粒子輸 運(yùn)計(jì)算方法走向工程實(shí)踐的瓶頸之一。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要解決的技術(shù)問題為:本發(fā)明的目的在于改善傳統(tǒng)蒙特卡羅粒子輸運(yùn)計(jì)算 方法在幾何處理效率上的不足,提供了一種基于空間網(wǎng)格分割的蒙特卡羅粒子輸運(yùn)快速幾 何處理方法,從而提高蒙特卡羅粒子輸運(yùn)計(jì)算的幾何處理效率。
[0006] 本發(fā)明解決上述技術(shù)問題采用的技術(shù)方案為:一種基于空間網(wǎng)格分割的蒙特卡羅 粒子輸運(yùn)快速幾何處理方法,包括以下步驟:
[0007] 步驟(1)、計(jì)算幾何模型中各個(gè)幾何體的軸向包圍盒:
[0008] 分析待處理的幾何模型,根據(jù)計(jì)算機(jī)圖形學(xué)中的軸向包圍盒AABB技術(shù),為幾何模 型中的各個(gè)幾何體構(gòu)建軸向包圍盒,軸向包圍盒為各邊平行于笛卡爾直角坐標(biāo)軸的平行六 面體,每個(gè)包圍盒有且完全包含一個(gè)幾何體,因此描述一個(gè)幾何體的軸向包圍盒只需六個(gè) 標(biāo)量即可,即一個(gè)幾何體的軸向包圍盒可表示為:
【權(quán)利要求】
1. 一種基于空間網(wǎng)格分割的蒙特卡羅粒子輸運(yùn)快速幾何處理方法,其特征在于,包括 以下步驟: 步驟(1)計(jì)算幾何模型中各個(gè)幾何體的軸向包圍盒: 分析待處理的幾何模型,根據(jù)計(jì)算機(jī)圖形學(xué)中的軸向包圍盒AABB技術(shù),為幾何模型 中的各個(gè)幾何體構(gòu)建軸向包圍盒,軸向包圍盒為各邊平行于笛卡爾直角坐標(biāo)軸的平行六面 體,每個(gè)包圍盒有且完全包含一個(gè)幾何體,因此描述一個(gè)幾何體的軸向包圍盒只需六個(gè)標(biāo) 量即可,即一個(gè)幾何體的軸向包圍盒可表示為: AABBj - [ (Xj,min,Xj,―); (Yj,min,Yj,―); (Zj,min,Zj,max) ] (J-O?N) 其中J表示幾何模型中幾何體的編號(hào),N表示整個(gè)模型中幾何體的總數(shù),AABBtl表示整 個(gè)模型的軸向包圍盒,AABBt表示模型中第J個(gè)幾何體的軸向包圍盒,(XTimin,ΧΤ?_)表示幾 何體J沿X軸的尺寸范圍從坐標(biāo)值XT,min到坐標(biāo)值XT;max,(YT;min,YT,max)表示幾何體J沿Y軸 的尺寸范圍從坐標(biāo)值YT,min到坐標(biāo)值YT;max,(ZT,min,ZT,max)表示幾何體J沿Z軸的尺寸范圍從 坐標(biāo)值4_到坐標(biāo)值4_; 步驟(2)基于代價(jià)函數(shù)最小原則,對(duì)給定幾何模型進(jìn)行空間網(wǎng)格分割,其步驟如下: (21) 根據(jù)步驟⑴得到的整個(gè)幾何模型的軸向包圍盒AABBtl,先假設(shè)對(duì)其沿X、Y、Z軸 按照一定步長(zhǎng)依次進(jìn)行空間網(wǎng)格分割,其分割步長(zhǎng)一般選取沿各軸方向的某一最小幾何體 的包圍盒尺寸作為沿對(duì)應(yīng)軸分割的步長(zhǎng),即由如下公式獲得:
其中Xs_、Ystep、Zstep為將整個(gè)幾何模型沿X、Y、Z軸進(jìn)行空間網(wǎng)格分割的步長(zhǎng); %//(Μ/?βυ為從編號(hào)為1到N的幾何體中選擇沿X軸的包圍盒最小尺寸,即為 l-丨―I);同理,為從編號(hào)為1到N的幾何體中選擇沿Y軸的包 圍盒最小尺寸,即為為從編號(hào)為1到N的幾何體中選擇 沿Z軸的包圍盒最小尺寸,即為4,腿-Zjmin |}; (22) 假設(shè)以Xstep、Ystep、Zstep為步長(zhǎng)依次對(duì)整個(gè)幾何模型沿X、Y、Z軸進(jìn)行空間網(wǎng)格分 害I],得到三種空間網(wǎng)格分割方案,這三種空間網(wǎng)格分割方案得到的網(wǎng)格數(shù)目Nx、NY、Nz分別 為:
,T|Z〇,max-Z〇,min| N7 = 1-L Zstep 其中,x〇,min和為整個(gè)模型沿X軸的最小尺寸和最大尺寸坐標(biāo)值,Y〇,min和Y〇,_為 整個(gè)模型沿Y軸的最小尺寸和最大尺寸坐標(biāo)值,Ztlniin和Zbax為整個(gè)模型沿z軸的最小尺 寸和最大尺寸坐標(biāo)值;三種網(wǎng)格分割方案的代價(jià)函數(shù)F(X)、F(Y)、F(Z)分別為:
其中,F(xiàn)(X)為沿X軸分割得到的網(wǎng)格模型的代價(jià)函數(shù),F(xiàn)⑴為沿Y軸分割得到的網(wǎng)格 模型的代價(jià)函數(shù),F(xiàn)(Z)為沿Z軸分割得到的網(wǎng)格模型的代價(jià)函數(shù);ΜΤ?Χ、ΜΤ?Υ、Μυ表示分別沿 X、Y、Z軸進(jìn)行空間網(wǎng)格分割得到的網(wǎng)格模型中第J個(gè)網(wǎng)格中包含的幾何體數(shù)目,\χ、\γ、 表示分別沿X、Y、Z軸進(jìn)行空間網(wǎng)格分割得到的網(wǎng)格模型中第J個(gè)網(wǎng)格是否為空網(wǎng)格, 即該網(wǎng)格是否含有幾何體,它們的關(guān)系如下:
由此可知,代價(jià)函數(shù)的意義在于衡量一個(gè)給定的空間網(wǎng)格分割模型,平均每個(gè)網(wǎng)格包 含的幾何體數(shù)目; (23)選擇代價(jià)函數(shù)最小的網(wǎng)格分割為最優(yōu)的空間網(wǎng)格分割方案: 根據(jù)步驟(22)得到的三種空間網(wǎng)格分割方案,選取代價(jià)函數(shù)最小的Min{F(X),F(xiàn)(Y),F(xiàn)(Z)}方案作為步驟(2)最終的空間網(wǎng)格分割方案; 步驟(3)針對(duì)步驟(2)得到的空間網(wǎng)格分割得到的每個(gè)網(wǎng)格,再重復(fù)步驟(2),并依次 遞歸下去,直到待分割的網(wǎng)格中包含的幾何體數(shù)目少于一定數(shù)目時(shí),停止分割;步驟(3)和 步驟(2)最大的區(qū)別在于:步驟(2)以整個(gè)幾何模型為分割對(duì)象,而步驟(3)則針對(duì)某一個(gè) 特定網(wǎng)格繼續(xù)進(jìn)行空間網(wǎng)格分割,但其本質(zhì)是一樣的; 步驟(4)基于空間網(wǎng)格分割得到的網(wǎng)格模型進(jìn)行蒙特卡羅粒子輸運(yùn)快速幾何處理,即 幾何體查詢: (41) 根據(jù)粒子坐標(biāo),確定包含該點(diǎn)的網(wǎng)格編號(hào);在進(jìn)行蒙特卡羅粒子輸運(yùn)模擬時(shí),在 給定粒子三維空間坐標(biāo)數(shù)據(jù)P(Xp,Yp,Zp)時(shí),首先根據(jù)以下公式,快速進(jìn)行網(wǎng)格定位,查找該 點(diǎn)所在的網(wǎng)格編號(hào):
其中Ci為點(diǎn)P(Xp,Yp,Zp)在坐標(biāo)軸i方向上的分量,Li為整個(gè)模型或某一網(wǎng)格沿坐標(biāo) 軸i的最小邊界坐標(biāo)值,ICi-LiI為給定點(diǎn)沿坐標(biāo)軸i方向到模型邊界的距離,Si為整個(gè)模 型或某一網(wǎng)格沿坐標(biāo)軸i進(jìn)行網(wǎng)格分割的步長(zhǎng)^表示取大于的最小正整 數(shù),則[ID(X),ID(Y),ID(Z)]即為點(diǎn)P(XP,YP,Zp)所在的網(wǎng)格編號(hào); (42) 假設(shè)網(wǎng)格[ID(X),ID(Y) ,ID(Z)]包含的幾何體的編號(hào)依次為G1,G2,…,GM,然后 依次對(duì)這M個(gè)幾何體進(jìn)行點(diǎn)包容性計(jì)算,從而便可快速查找到粒子所在的幾何體。
【文檔編號(hào)】G06F17/10GK104317772SQ201410571791
【公開日】2015年1月28日 申請(qǐng)日期:2014年10月22日 優(yōu)先權(quán)日:2014年10月22日
【發(fā)明者】陳珍平, 宋婧, 吳斌, 鄭華慶, 吳宜燦 申請(qǐng)人:中國(guó)科學(xué)院合肥物質(zhì)科學(xué)研究院