午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種用于中子輸運的基于MCAM-Geant4自動建模方法的轉(zhuǎn)換簡化方法

文檔序號:6631330閱讀:325來源:國知局
一種用于中子輸運的基于MCAM-Geant4自動建模方法的轉(zhuǎn)換簡化方法
【專利摘要】本發(fā)明公開了一種用于中子輸運的基于MCAM-Geant4自動建模方法的轉(zhuǎn)換簡化方法,根據(jù)基本體特征,根據(jù)查找和組合的思想,對從半空間幾何到基本體幾何的轉(zhuǎn)換進行簡化的方法。該轉(zhuǎn)換方法簡化了從半空間描述轉(zhuǎn)換為基于基本體的蒙特卡羅計算模型,從而使Geant4蒙特卡羅計算程序在轉(zhuǎn)換時提供簡化。該方法對于核輻射評估等必須利用蒙特卡羅程序的領(lǐng)域提供了使用基于基本體描述的蒙特卡羅計算程序的簡便方法,具有重要的科學研究與工程應(yīng)用價值。
【專利說明】-種用于中子輸運的基于MCAM-Geant4自動建模方法的轉(zhuǎn) 換簡化方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種用于中子輸運的基于MCAM_Geant4自動建模方法的轉(zhuǎn)換簡化方 法,屬于輻射輸運計算領(lǐng)域,是一種從半空間描述轉(zhuǎn)化為基于基本體描述的計算模型中的 簡化方法。

【背景技術(shù)】
[0002] 蒙特卡羅輸運程序Geant4是使用蒙特卡羅方法通過計算機模擬粒子運動進而模 擬粒子輸運過程的技術(shù)。該技術(shù)是在核輻射防護、反應(yīng)堆物理、高能物理領(lǐng)域有廣泛的應(yīng) 用。這種計算程序從每個粒子運行的角度對真實場景進行模擬,在計算的過程中需要知道 粒子運行路徑中與哪些物體發(fā)生了碰撞,碰撞后飛行進入下一個粒子的位置等等。為了能 夠快速判斷粒子的位置,傳統(tǒng)的蒙特卡羅輸運程序使用了半空間方法描述所模擬場景的幾 何。但是隨著計算幾何技術(shù)的發(fā)展,為了直觀地表示物體的幾何,Geant4使用基于基本體 的表達方式來表示幾何。半空間幾何和基本體幾何的區(qū)別如圖1.所示,二者主要在表達方 式上有區(qū)別,如圖1所示。
[0003] 但是單純使用文本對場景進行建模的效率是十分低下的,但現(xiàn)在已經(jīng)有了成熟的 從CAD模型建立基于半空間幾何的蒙卡模型的軟件MCAM-Geant4。這個軟件大大提升了蒙 特卡羅模擬的效率,但它直接將模型轉(zhuǎn)換后的半空間描述方式的每一個半空間描述為一個 基本體。這種方法比較簡單,直接將半空間描述的模型轉(zhuǎn)換為一個個的單獨的基本體,但 是增加了基本體的數(shù)量,造成了基本體的冗余,降低了計算速度,增加了計算時的內(nèi)存開銷 等。
[0004] 由于蒙特卡羅方法中,在判斷粒子與幾何體的相對位置時需要比較粒子和組成幾 何體的所有表面的位置,所以幾何體的組成越簡單,計算速度越快,所以在這種情況下,基 本體的數(shù)量對幾何描述的實用程度有密切的關(guān)系。本發(fā)明提出的基本體幾何精簡方法對實 現(xiàn)CAD模型到蒙卡模型的有效轉(zhuǎn)換具有重要意義。


【發(fā)明內(nèi)容】

[0005] 本發(fā)明技術(shù)解決問題:克服現(xiàn)有技術(shù)的不足,提出一種用于中子輸運的基于 MCAM-Geant4自動建模方法的轉(zhuǎn)換簡化方法,采用查找和組合思想,盡可能的查找半空間直 到形成一個完整的基本體,或基于半空間盡可能的組合為一個基本體,已達到減少基本體, 提高建模質(zhì)量,減少相同精度下模型模擬時間。
[0006] 本發(fā)明的技術(shù)方案:一種基于MCAM_Geant4自動建模方法的轉(zhuǎn)換簡化方法,由輸 入模塊,查找模塊、組合模塊、輸出模塊共四個模塊組成;輸入模塊輸入半空間描述的模型, 送至查找模塊進行查找;查找模塊根據(jù)輸入的半空間描述的模型查找能否構(gòu)成為一個完整 的基本體,如果不能傳遞數(shù)據(jù)給組合模塊;組合模塊根據(jù)輸入的半空間描述的模型查找能 否使用盡可能多的半空間構(gòu)成一個基本體,并在剩余的半空間中繼續(xù)描述;最后查找模塊 構(gòu)成的基本體、組合模塊組成的基本體,統(tǒng)一送至輸出模塊,進行輸出;
[0007] 輸入模塊,讀取MCAM_Geant4模塊中讀取半空間描述的模型數(shù)據(jù),根據(jù)幾何構(gòu)造 器的數(shù)據(jù)結(jié)構(gòu),然后送到組合模塊中;
[0008] 查找模塊,根據(jù)讀取到的半空間模型數(shù)據(jù)進行查找;
[0009] 讀取平面半空間,得到其法向量,平面上一點,方向等幾何數(shù)據(jù);讀取圓柱半空間, 得到其軸向法向量,軸線上一點,半徑,內(nèi)外半空間指示等幾何數(shù)據(jù);讀取圓錐空間,得到其 軸向法向量,頂點,圓錐與軸線夾角,內(nèi)外半空間指示等幾何數(shù)據(jù);讀取球半空間,得到球心 點,半徑,內(nèi)外半空間等幾何數(shù)據(jù);讀取圓環(huán)半空間,得到軸線向量,軸心點,軸向大半徑,小 半徑,內(nèi)外半空間等幾何數(shù)據(jù);
[0010] 判斷一個實體下面的所有半空間是否能夠組合成一個基本體,對于實體,判斷是 否有八個半空間,且對于這八個半空間對應(yīng)的八個面中存在兩個面平行并垂直與其它面, 存在其余六個面兩兩平行,兩兩平面成120°角度;同時半空間的正負方向符合六棱柱體 的方向,平行的兩個面對應(yīng)的兩個半空間交集不為空;據(jù)此構(gòu)建六棱柱體;
[0011] 判斷是否有且僅有六個半空間,且六個半空間對應(yīng)的六個面存在兩個面平行并垂 直與其余四個面,剩余的四個面兩兩垂直兩兩平行;同時半空間的正負方向符合長方體的 方向,平行的兩個面對應(yīng)的兩個半空間交集不為空;據(jù)此構(gòu)建長方體;
[0012] 判斷是否有且僅有三個半空間,且三個半空間對應(yīng)的三個面有兩個平面一個圓柱 面;兩個平面平行并垂直圓柱面;三個半空間的交集不為空;據(jù)此構(gòu)建圓柱體;
[0013] 判斷是否有且僅有兩個半空間,對應(yīng)的兩個面是平面和圓錐面;平面垂直圓錐面; 兩個半空間的交集不為空;據(jù)此構(gòu)建圓錐體;
[0014] 組合模塊,根據(jù)讀取到的半空間模型數(shù)據(jù),根據(jù)優(yōu)先級進行組合;主要優(yōu)先級原則 是優(yōu)先組合為含較多半空間的基本體;輸入數(shù)據(jù)為得到進行查找,但得不到基本體的半空 間描述的模型;輸出為基本體集合;
[0015]f)對于第一優(yōu)先級六棱柱,遍歷所有半空間a,進行判斷:
[0016]i.首先搜索幾何體中與之垂直或平行或成120°的平面,如果有這樣的半空間b, 判斷找到的半空間與a包圍成的空間是否包含原幾何體,如果包含,那么以b作為將代替a 的六棱柱的另一個面,當前的平面集合A= {a,b};
[0017]ii.繼續(xù)在幾何體中其它半空間,新的半空間需要與集合A中最多一個半空間平 行且與其他的半空間垂直,并且與這些半空間一起交出的空間能夠包含原幾何體,找到后 將新的半空間加入集合A,最后集合A的半空間的基礎(chǔ)上補齊的六棱柱可以成為在基本體 表達式中代替這些半空間的基本體,從而使最終生成的基本體表達式減少了新找到半空間 數(shù)量的基本體;
[0018]g)對于第二優(yōu)先級長方體,搜索幾何體中與之構(gòu)成長方體的半空間,補齊缺少的 面形成長方體,這樣能夠減少找到面數(shù)量的基本體;
[0019]i.首先搜索幾何體中與之垂直或平行或成90°的平面,如果有這樣的半空間b, 判斷找到的半空間與a包圍成的空間是否包含原幾何體,如果包含,那么以b作為將代替a 的六棱柱的另一個面,當前的平面集合A= {a,b};
[0020] ii.繼續(xù)在幾何體中其它半空間,新的半空間需要與集合A中最多一個半空間平 行且與其他的半空間垂直,并且與這些半空間一起交出的空間能夠包含原幾何體,找到后 將新的半空間加入集合A,最后集合A的半空間的基礎(chǔ)上補齊的長方體可以成為在基本體 表達式中代替這些半空間的基本體,從而使最終生成的基本體表達式減少了新找到半空間 數(shù)量的基本體;
[0021]h)對于第三優(yōu)先級圓柱面,搜索幾何體中與之構(gòu)成長方體的面,采用類似2.a的 方法,最后補齊缺少的面形成圓柱體,這樣能夠減少找到面數(shù)量的基本體;
[0022] i.首先找到圓柱體內(nèi)半空間;找到后再查找垂直于這個圓柱體的兩個平面半空 間;
[0023] ii.找到后,使用圓柱體代替找到的圓柱內(nèi)半空間和平面半空間;
[0024] i)對于第四優(yōu)先級圓錐面,搜索幾何體中與之構(gòu)成長方體的面,采用類似2.a的 方法,最后補齊缺少的面形成圓柱體,這樣能夠減少找到面數(shù)量的基本體;
[0025] i.首先找到圓錐體內(nèi)半空間;找到后再查找垂直于這個圓錐體的一個平面半空 間;找到后,使用圓錐體代替找到的圓錐體內(nèi)半空間和平面半空間;
[0026] 本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點在于:
[0027] (1)通過直接尋找基本體,將一個實體描述為一個基本體,對比其他方式中采用的 一個半空間使用一個基本體描述的方式,減少了基本體的數(shù)量;例如六棱柱,按照原來的方 法,需要使用八個布爾實體才能描述,現(xiàn)在只需要一個六棱柱實體即可,實體數(shù)量減少了七 倍;對比其他方式中采用的一個半空間使用一個基本體描述的方式,本發(fā)明減少了基本體 的數(shù)量,減少了相同精度下模型模擬時間;
[0028] (2)通過查找基本體的基本組成元素,最大可能的組合成基本體,對比其他方式中 采用的一個半空間使用一個基本體描述的方式,盡可能的減少了基本體數(shù)量;例如對于一 個六面體,主要有三個半空間兩兩垂直,就可以使用一個基本體來代替這三個半空間,基本 體從原來的六個減少到四個,效果提高了 1.5倍。

【專利附圖】

【附圖說明】
[0029] 圖1為基于半空間幾何和基于基本體的幾何的示意圖;其中左圖是基于半空間幾 何,右圖是基于基本體的幾何;
[0030] 圖2為本發(fā)明系統(tǒng)的組成框;
[0031] 圖3為圖2中查找模塊的實現(xiàn)流程圖;
[0032] 圖4為圖2中組合模塊的實現(xiàn)流程圖。

【具體實施方式】
[0033] 如圖2所示,本發(fā)明包括輸入模塊、查找模塊、組合模塊、輸出模塊等。給出每個模 塊的功能和作用及相互的連接關(guān)系。
[0034] 輸入模塊讀取已分解后的模型信息,以半空間表達形式存在;
[0035] 在得到輸入模塊傳遞的輸入后,本發(fā)明中查找模塊具體實現(xiàn)如下,并如圖3所示:
[0036] >得到半空間描述的實體列表,對于其中每一個實體進行遍歷;例如一個實體模 型,含有六個半空間面;
[0037] >查找實體列表中的每一個實體是否是一個基本體;根據(jù)權(quán)利要求1中列出的不 同幾何體的各種不同的參數(shù),判斷是否能夠構(gòu)成一個基本幾何體,缺乏部分條件也可以構(gòu) 成一個基本體;以上面的模型為例,經(jīng)過判斷可以構(gòu)成一個長方體,則輸出為一個長方體;
[0038] 在得到查找模塊傳遞的輸入后,本發(fā)明中組合模塊具體實現(xiàn)如下,并如圖4所示:
[0039] >對于查找之后發(fā)現(xiàn)不能直接構(gòu)成一個基本幾何體的實體,采取第二種方式:組 合,盡可能將更多的半空間組成成一個柵元,以一個四面體為例,其中三個平面半空間為兩 兩垂直相交的平面半空間,最后一個是平面半空間:
[0040]a)基于優(yōu)先級,先查找有無平面;再查找有無其它平面滿足平行或垂直等能構(gòu)成 基本體的條件的平面:若有,加入其中,再繼續(xù)檢索下一個面;若無,判斷其它面;添加一個 平面半空間進行判斷;
[0041]b)根據(jù)優(yōu)先級來,判斷完平面,再判斷圓柱,圓錐;判斷可以組成一個平面半空 間;
[0042]c)盡最大可能判斷之后,得到的半空間列表轉(zhuǎn)換為一個基本體;再去判斷其它平 面半空間,最終發(fā)現(xiàn)兩兩垂直的三個平面半空間可以構(gòu)成為一個長方體的三個面;
[0043]d)繼續(xù)對剩余的面進行判斷,重復abc步驟,并判斷能否增加新的半空間到集合 中;判斷發(fā)現(xiàn)已經(jīng)遍歷所有的半空間,但不能再增加新的半空間到半空間集合中;
[0044]e)結(jié)束判斷:
[0045] 如果所有的半空間遍歷完,且所有的半空間都被處理,則結(jié)束;
[0046] 如果所有的半空間遍歷完,但存在半空間未被處理,則保存目前的基本體到輸 出列表中,刪去已經(jīng)處理過的半空間,重新處理其它半空間;
[0047] 如果不是所有的半空間都被遍歷完成,但已經(jīng)構(gòu)成完整的基本體,則保存該基 本體到輸出列表中,刪去已經(jīng)處理過的半空間,重新處理其它半空間;
[0048] 如果不是所有的半空間都被遍歷完成,且基本體不完整,繼續(xù)處理;
[0049] 根據(jù)以上判斷,上述四面體例子在判斷三個半空間構(gòu)成一個長方體后,將其加 入到輸出列表中等待輸出,并繼續(xù)處理剩余的一個平面半空間;
[0050] 在結(jié)束查找模塊和組合模塊的處理后,本發(fā)明中,輸出模塊輸出所需要的Geant4 模型文件;使用Geant4模擬代碼進行模擬;由于降低Geant4模型復雜度,減少了Geant4模 型中的實體數(shù)量,因此Geant4模擬速度提高。
【權(quán)利要求】
1. 一種用于中子輸運的基于MCAM-Geant4自動建模方法的轉(zhuǎn)換簡化方法,其特征在于 包括輸入模塊、查找模塊、組合模塊和輸出模塊;其中: 輸入模塊,輸入半空間描述的模型,送至查找模塊進行查找; 查找模塊,根據(jù)輸入的半空間描述的模型查找能否構(gòu)成為一個完整的基本體,如果能 構(gòu)成一個完整的基本體,輸出到輸出模塊中;如果不能構(gòu)成為一個完整的基本體,則傳遞數(shù) 據(jù)給組合模塊;所述基本體是指長方體、圓柱體、圓錐體、六棱柱體、球體、圓環(huán)體; 組合模塊,根據(jù)查找模塊傳遞來的半空間描述的模型,查找能否使用盡可能多的半空 間組成一個基本體,并將結(jié)果輸出到輸出模塊中; 輸出模塊,將查找模塊構(gòu)成的基本體、組合模塊組成的基本體統(tǒng)一輸出。
2. 根據(jù)權(quán)利要求1所述的基于MCAM-Geant4自動建模方法的轉(zhuǎn)換簡化系統(tǒng),其特征在 于:所述查找模塊具體實現(xiàn)如下: (1) 根據(jù)讀取到的半空間模型數(shù)據(jù)進行查找; 讀取平面半空間,得到平面半空間的法向量、平面上一點和方向的幾何數(shù)據(jù);讀取圓柱 半空間,得到圓柱半空間的軸向法向量、軸線上一點、半徑、內(nèi)外半空間指示的幾何數(shù)據(jù);讀 取圓錐空間,得到圓錐空間的軸向法向量、頂點、圓錐與軸線夾角、內(nèi)外半空間指示的幾何 數(shù)據(jù);讀取球半空間,得到球心點,半徑,內(nèi)外半空間的幾何數(shù)據(jù);讀取圓環(huán)半空間,得到軸 線向量,軸心點,軸向大半徑,小半徑,內(nèi)外半空間的幾何數(shù)據(jù); 判斷一個實體下面的所有半空間是否能夠組合成一個基本體,對于實體,判斷是否有 八個半空間,且對于這八個半空間對應(yīng)的八個面中存在兩個面平行并垂直與其它面,存在 其余六個面兩兩平行,兩兩平面成120°角度;同時半空間的正負方向符合六棱柱的方向, 平行的兩個面對應(yīng)的兩個半空間交集不為空;據(jù)此構(gòu)建六棱柱; 判斷是否有且僅有六個半空間,且六個半空間對應(yīng)的六個面存在兩個面平行并垂直與 其余四個面,剩余的四個面兩兩垂直兩兩平行;同時半空間的正負方向符合長方體的方向, 平行的兩個面對應(yīng)的兩個半空間交集不為空;據(jù)此構(gòu)建長方體; 判斷是否有且僅有三個半空間,且三個半空間對應(yīng)的三個面有兩個平面一個圓柱面; 兩個平面平行并垂直圓柱面;三個半空間的交集不為空;據(jù)此構(gòu)建圓柱體; 判斷是否有且僅有兩個半空間,對應(yīng)的兩個面是平面和圓錐面;平面垂直圓錐面;兩 個半空間的交集不為空;據(jù)此構(gòu)建圓錐體; (2) 對于不能組成一個基本體的實體,保存數(shù)據(jù)并傳遞給組合模塊。
3. 根據(jù)權(quán)利要求1所述的基于MCAM-Geant4自動建模方法的轉(zhuǎn)換簡化系統(tǒng),其特征在 于:所述組合模塊具體實現(xiàn)如下: 根據(jù)讀取到的半空間模型數(shù)據(jù),根據(jù)優(yōu)先級進行組合;主要優(yōu)先級原則是優(yōu)先組合為 含較多半空間的基本體;輸入數(shù)據(jù)為得到進行查找,但得不到基本體的半空間描述的模型; 輸出為基本體集合; a)對于第一優(yōu)先級六棱柱,遍歷所有半空間a,進行判斷: i. 首先搜索幾何體中與之垂直或平行或成120°的平面,如果有這樣的半空間b,判斷 找到的半空間與a包圍成的空間是否包含原幾何體,如果包含,那么以b作為將代替a的六 棱柱的另一個面,當前的平面集合A = {a, b}; ii. 繼續(xù)在幾何體中其它半空間,新的半空間需要與集合A中最多一個半空間平行且 與其他的半空間垂直,并且與這些半空間一起交出的空間能夠包含原幾何體,找到后將新 的半空間加入集合A,最后集合A的半空間的基礎(chǔ)上補齊的六棱柱可以成為在基本體表達 式中代替這些半空間的基本體,從而使最終生成的基本體表達式減少了新找到半空間數(shù)量 的基本體; b) 對于第二優(yōu)先級長方體,搜索幾何體中與之構(gòu)成長方體的半空間,補齊缺少的面形 成長方體,這樣能夠減少找到面數(shù)量的基本體; i. 首先搜索幾何體中與之垂直或平行或成90°的平面,如果有這樣的半空間b,判斷 找到的半空間與a包圍成的空間是否包含原幾何體,如果包含,那么以b作為將代替a的六 棱柱的另一個面,當前的平面集合A = {a, b}; ii. 繼續(xù)在幾何體中其它半空間,新的半空間需要與集合A中最多一個半空間平行且 與其他的半空間垂直,并且與這些半空間一起交出的空間能夠包含原幾何體,找到后將新 的半空間加入集合A,最后集合A的半空間的基礎(chǔ)上補齊的長方體可以成為在基本體表達 式中代替這些半空間的基本體,從而使最終生成的基本體表達式減少了新找到半空間數(shù)量 的基本體; c) 對于第三優(yōu)先級圓柱面,搜索幾何體中與之構(gòu)成長方體的面,采用類似a的方法,最 后補齊缺少的面形成圓柱體,這樣能夠減少找到面數(shù)量的基本體; i.首先找到圓柱體內(nèi)半空間;找到后再查找垂直于這個圓柱體的兩個平面半空間;找 到后,使用圓柱體代替找到的圓柱內(nèi)半空間和平面半空間; d) 對于第四優(yōu)先級圓錐面,搜索幾何體中與之構(gòu)成長方體的面,采用類似a的方法,最 后補齊缺少的面形成圓柱體,這樣能夠減少找到面數(shù)量的基本體; i.首先找到圓錐體內(nèi)半空間;找到后再查找垂直于這個圓錐體的一個平面半空間;找 到后,使用圓錐體代替找到的圓錐體內(nèi)半空間和平面半空間; e) 對于全部實體檢索完,輸出給輸出模塊進行輸出。
【文檔編號】G06F17/50GK104361150SQ201410570850
【公開日】2015年2月18日 申請日期:2014年10月23日 優(yōu)先權(quán)日:2014年10月23日
【發(fā)明者】汪冬, 俞盛朋, 程夢云, 董良, 吳宜燦 申請人:中國科學院合肥物質(zhì)科學研究院
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1