本發(fā)明涉及一種大規(guī)模貼體粒子的并行生成方法,屬于計算機模擬仿真和工業(yè)軟件。
背景技術(shù):
1、計算機模擬仿真軟件,作為工業(yè)軟件的重要組成部分,是指導(dǎo)產(chǎn)品設(shè)計、研發(fā)、測試的強力工具。例如,模擬仿真軟件可以模擬海嘯、汽車涉水等各類場景,幫助應(yīng)對自然災(zāi)害、設(shè)計改良汽車外形等。
2、計算機模擬仿真軟件的具體實現(xiàn)技術(shù)手段,主要包括網(wǎng)格類方法和粒子類方法。其中,粒子類方法是對傳統(tǒng)的網(wǎng)格類方法的重要補充,尤其適用于針對大變形、動邊界等復(fù)雜問題的模擬仿真。粒子的空間分布對粒子類方法的計算精度和穩(wěn)定性等產(chǎn)生很大影響。理想的粒子分布是均勻的,并能準(zhǔn)確描述幾何與物理信息。現(xiàn)有的粒子生成方法主要包括晶格法、網(wǎng)格法、物理結(jié)合法等,存在速度慢、不貼體等問題。
3、目前,對簡單物理場景問題,模擬方法取得了很好的效果。但在復(fù)雜場景下保證高精度模擬,仍是非常具備挑戰(zhàn)的問題。直觀的思路是,在高分辨率尺度下完善模擬方法。大規(guī)模粒子生成,是復(fù)雜場景中高精度粒子類模擬的重要基石?,F(xiàn)有的計算機模擬仿真軟件貼體粒子生成方法,是通過合理哈希降維問題域等策略,來保證單進(jìn)程內(nèi)生成的粒子的貼體性、均勻性、快速性。一定程度上保證了數(shù)值模擬的精度和穩(wěn)定性。但是,受限于單機的內(nèi)存容量等硬件因素,無法滿足大規(guī)模粒子的生成需求。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是針對現(xiàn)有技術(shù)存在的缺陷和不足,為了解決計算機模擬仿真軟件中生成的三維貼體粒子量級不夠大等技術(shù)問題,提出一種計算機模擬仿真軟件大規(guī)模貼體粒子的并行生成方法。本方法在均勻分配、負(fù)載均衡的前提下,進(jìn)一步并行化單進(jìn)程內(nèi)貼體粒子生成方法中的排序、去重步驟,在保證生成粒子的快速、貼體、均勻等特性的基礎(chǔ)上,能進(jìn)一步支持更大規(guī)模的貼體粒子生成。
2、為了達(dá)到上述目的,本發(fā)明采取如下技術(shù)方案。
3、首先對本發(fā)明涉及的概念內(nèi)容進(jìn)行說明。
4、1.粒子。是粒子類模擬方法中的基本研究單位。每個粒子帶有相應(yīng)的位置、界面法向量、速度等幾何與物理信息。本方法中,只考察粒子的位置信息。
5、2.貼體。是一種點與面的關(guān)系,表示點在面上。貼體粒子,指在表面上的粒子。貼體是粒子的一種位置屬性。
6、3.大規(guī)模。描述粒子數(shù)目量級比較大,至少在千萬量級以上。
7、4.并行。相對單機程序而言,這種程序框架能同時使用多個計算機的資源,支持并加速大規(guī)模問題的計算。
8、5.晶格。是三維空間中的周期性幾何結(jié)構(gòu)。常見的有正方體等。
9、6.幾何構(gòu)型。描述物件內(nèi)部結(jié)構(gòu)、外部表面的幾何體,由點、線、面、體等組成。
10、7.網(wǎng)格。是工業(yè)實體建模的基本單位,有限元等方法的基本計算單元。由節(jié)點、邊、面等組成,還可附加其他物理參數(shù)信息。
11、8.psrs法(parallel?sorting?by?regular?sampling)。是一種適合大規(guī)模數(shù)據(jù)的并行排序算法。
12、9.stl文件(stereolithography,立體光刻)。是一種表示三維表面幾何形狀的文件格式。由一系列帶三個頂點坐標(biāo)和三維法向量信息的三角形面片組成。
13、10.vtk文件(visualization?toolkit,可視化工具箱)。是一種可攜帶多種信息的數(shù)據(jù)集文件??梢员4鎺Ф喾N物理參數(shù)值的粒子數(shù)據(jù)。
14、一種大規(guī)模貼體粒子的并行生成方法,包括stl三角片粒子生成、晶格哈希和排序去重。
15、步驟1:設(shè)定初始參數(shù)值,包括初設(shè)粒子間距margin、stl文件路徑、粒子生成方向和核心數(shù)。
16、步驟2:解析描述幾何構(gòu)型的stl文件,得到各三角面的頂點坐標(biāo)及法向量信息。
17、步驟3:檢查初始粒子間距的合法性。
18、步驟4:細(xì)分初始的三角面片。
19、具體地,迭代地將面積過大的三角面片細(xì)分至單核心可負(fù)載的一系列小面積面片。其中,面積過大的三角面片,是在當(dāng)前分辨率下生成的粒子數(shù)量占用的空間會超過單個核心的內(nèi)存空間上限。
20、步驟5:將細(xì)分后的面片按面積均衡地分配給各核心。
21、步驟6:每個核心將分配到的面片生成單機的均勻貼體的粒子。
22、步驟7:借鑒psrs并行排序算法,全局執(zhí)行基于正則采樣的并行排序去重算法,得到全局有序、不重復(fù)的貼體粒子。
23、步驟8:各核心輸出基于所分配到的面片生成的全局有序、均勻、不重復(fù)的貼體粒子。
24、有益效果
25、本發(fā)明方法,與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:
26、1.本方法保證了并行粒子生成的負(fù)載均衡以及參數(shù)合法性。本方法中粒子生成的規(guī)模依賴于幾何構(gòu)型中三角面片面積大小。對此,將初始三角面片合理細(xì)分,并均勻地分配到各個核心上,可以保證每個核心生成粒子的負(fù)載均衡。另外,結(jié)合初始粒子間距等參數(shù),可由總面積估算整體粒子規(guī)模,若超過單核上限則非法。
27、2.本方法實現(xiàn)了大規(guī)模粒子快速地生成。細(xì)分三角面片后,插入連續(xù)的子面片依然保證了面片數(shù)組中的空間連續(xù)性。相鄰核心按數(shù)組序獲得面片,進(jìn)一步保證了空間局部性,使得核心間通信開銷更低。更重要的是,在負(fù)載均衡的基礎(chǔ)上,進(jìn)一步利用大量并行核心的資源,能快速生成很大規(guī)模的粒子。當(dāng)然也對大規(guī)模粒子文件管理、后處理渲染也提出了一定要求。
28、3.本方法保證了大規(guī)模粒子貼體地、均勻地生成。單核心運行單機版的粒子生成方法后得到單核心內(nèi)的貼體均勻粒子。在核心間排序去重后,全局多核心都保證了單機版的貼體、均勻、無重復(fù)等性質(zhì)。因此得到了大規(guī)模的均勻貼體粒子。
1.一種大規(guī)模貼體粒子的并行生成方法,其特征在于,包括以下步驟:
2.如權(quán)利要求1所述的一種大規(guī)模貼體粒子的并行生成方法,其特征在于,步驟3包括以下步驟:
3.如權(quán)利要求2所述的一種大規(guī)模貼體粒子的并行生成方法,其特征在于,三角面片面積由兩邊向量的叉積計算得到。
4.如權(quán)利要求1所述的一種大規(guī)模貼體粒子的并行生成方法,其特征在于,步驟5中,遍歷verts數(shù)組中的面片,從頭累積連續(xù)面片的面積stemp,當(dāng)臨時面片面積和大于負(fù)載上限時,即:stemp>savmax,將此位置前的連續(xù)面片分配給當(dāng)前核心,并將此位置記作新的臨時連續(xù)面片的起始位置,直到面片被分配完畢。
5.如權(quán)利要求1所述的一種大規(guī)模貼體粒子的并行生成方法,其特征在于,步驟7包括: