[發(fā)明專利]一種顆粒流動仿真方法在審
| 申請?zhí)枺?/td> | 201710200190.5 | 申請日: | 2017-03-30 |
| 公開(公告)號: | CN107016180A | 公開(公告)日: | 2017-08-04 |
| 發(fā)明(設(shè)計)人: | 楊晨;周福建;高李陽;馮煒 | 申請(專利權(quán))人: | 中國石油大學(xué)(北京) |
| 主分類號: | G06F17/50 | 分類號: | G06F17/50;G06F9/50 |
| 代理公司: | 北京科家知識產(chǎn)權(quán)代理事務(wù)所(普通合伙)11427 | 代理人: | 莫文新 |
| 地址: | 102249*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 顆粒 流動 仿真 方法 | ||
1.一種顆粒流動仿真方法,其在并行的多個GPU上執(zhí)行離散單元算法(DEM)方法來進行顆粒流動仿真,該方法包括以下步驟:
a、使用DEM方法對顆粒建模,并將建立的DEM模型分配為多個粒子,將該多個粒子分配給多個計算節(jié)點進行處理,每個計算節(jié)點的CPU和GPU分別分配有內(nèi)存空間,并在CPU中進行初始化數(shù)據(jù),將初始化后的數(shù)據(jù)從CPU內(nèi)存空間拷貝入所述GPU的內(nèi)存空間中;
b、上述每個計算節(jié)點的GPU對每個粒子進行處理,其中每個計算節(jié)點的GPU的每個流處理器負(fù)責(zé)處理一個粒子,并更新粒子存儲在GPU內(nèi)存空間中的坐標(biāo)及粒子速度;
c、在步驟b的處理過程中,確定每個計算節(jié)點控制的粒子,將每個計算節(jié)點控制的粒子個數(shù)拷貝至CPU內(nèi)存空間中,并根據(jù)GPU內(nèi)存空間中的粒子數(shù)進行動態(tài)劃分,以按照均衡負(fù)載原則動態(tài)地確定出每個計算節(jié)點計算哪些粒子;
d、利用MPI接口協(xié)議把上述進行數(shù)據(jù)動態(tài)劃分后的粒子在每個計算節(jié)點間遷移;
e、根據(jù)步驟c得到的每個計算節(jié)點控制的粒子,在GPU中計算重疊區(qū)域,并將數(shù)據(jù)拷入CPU內(nèi)存,而后通過MPI接口協(xié)議進行數(shù)據(jù)交換;
f、每個計算節(jié)點的GPU中的每個流處理器根據(jù)每個粒子的坐標(biāo),計算每個粒子所在GPU內(nèi)存空間中網(wǎng)格的編號;
g、每個計算節(jié)點的GPU中的每個流處理器處理計算每個粒子運動中的受力和加速度;
h、每個計算節(jié)點的GPU中的每個流處理器處理每個粒子速度;
i、回到步驟b直至達到指定步數(shù);
j、釋放主控節(jié)點和計算節(jié)點的內(nèi)存空間。
2.根據(jù)權(quán)利要求1所述的一種顆粒流動仿真方法,其中,步驟b、步驟f、步驟g和步驟h利用GPU對每個粒子進行并行數(shù)據(jù)處理。
3.根據(jù)權(quán)利要求1所述的一種顆粒流動仿真方法,其中,步驟d中所述粒子在各節(jié)點間遷移利用MPI接口發(fā)送和接收函數(shù)實現(xiàn)粒子各物理量的發(fā)送和接收。
4.根據(jù)權(quán)利要求1所述的一種顆粒流動仿真方法,其中,在步驟e中,所述在GPU中計算重疊區(qū)域包括:利用在GPU計算重疊區(qū)域包括,GPU的一個流處理器處理一個網(wǎng)格;
在三維情況下,每個網(wǎng)格有26個網(wǎng)格與之相鄰,判斷相鄰網(wǎng)格是否在當(dāng)前計算節(jié)點中,如果不是,則算作重疊區(qū)域包括,從其他節(jié)點遷移獲得。
一種基于GPU的顆粒流動仿真方法,包括:
建模步驟,確定顆粒材料、顆粒參數(shù)、邊界條件和幾何體形狀,以及顆粒初始分布的區(qū)域,并根據(jù)預(yù)定的顆粒分布區(qū)域和數(shù)量生成顆粒;
任務(wù)管理步驟,根據(jù)顆粒總數(shù)和多個計算節(jié)點上空閑GPU的數(shù)目,確定最優(yōu)GPU數(shù)目,并結(jié)合最優(yōu)GPU數(shù)目和當(dāng)前空閑GPU數(shù)目確定參與計算的GPU,并將參與計算的GPU狀態(tài)設(shè)置為非空閑;以及
計算步驟,包括
初始化各計算節(jié)點的參與計算的GPU,并向各GPU發(fā)送計算所需的顆粒信息,
各GPU并行更新預(yù)定的速度和坐標(biāo),對接收的顆粒信息排序以生成各自的排序元胞列表,
各GPU并行計算當(dāng)前各自進程中非零網(wǎng)格編號及網(wǎng)格中顆粒數(shù)目,并發(fā)送至主控節(jié)點,由主控節(jié)點依照每個GPU最優(yōu)顆粒數(shù)目進行動態(tài)劃分網(wǎng)格,確定每個GPU并行計算的網(wǎng)格數(shù)目和編號,
根據(jù)主控節(jié)點的確定結(jié)果,各GPU并行發(fā)送和接收顆粒信息,并在各GPU中重新生成各自的排序元胞列表,
在各GPU中生成當(dāng)前時刻的碰撞列表,根據(jù)當(dāng)前時刻的碰撞列表以及前一時刻的碰撞列表和切向相對位移,在各GPU中并行調(diào)整切向相對位移的位置,
根據(jù)接觸力學(xué)模型,在各GPU中并行計算每個顆粒的受力和加速度,
存儲當(dāng)前計算結(jié)果,和
如果計算沒有完成,就返回至各GPU并行更新預(yù)定速度和坐標(biāo)的步驟,否則計算步驟結(jié)束。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國石油大學(xué)(北京),未經(jīng)中國石油大學(xué)(北京)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710200190.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種安裝快速的斷路器
- 下一篇:漏電斷路器





