本發明專利技術公開了一種格子玻爾茲曼方法的并行加速方法及系統,克服目前使用X86服務器集群來進行LBM處理在時間等消耗較大的缺陷,該方法中:CPU端確定網格所有格點上的宏觀參量及其初始值,定義數據結構和存儲方式用于存儲每個格點各個方向的平衡分布函數和每個格點的宏觀參量,根據宏觀參量計算出所有格點上各方向的平衡分布函數,設置MIC卡內核的線程執行配置;MIC端根據宏觀參量及其初始值、線程執行配置及網格所有格點上各方向的平衡分布函數進行遷移和碰撞的并行計算和并行的邊界處理,并根據網格所有格點各方向的平衡分布函數獲得收斂狀態。本申請的實施例提高了格子Boltzmann方法的處理性能,滿足了流體模擬的需求。
【技術實現步驟摘要】
本專利技術涉及計算流體力學領域,尤其涉及一種格子玻爾茲曼方法的并行加速方法及系統。
技術介紹
格子玻爾茲曼方法(Lattice Boltzmann Method, LBM)是介于微觀分子動力學方法和基于連續介質假設的宏觀方法之間的一種介觀方法。該方法與傳統的流體模擬方法不同,它基于分子動理論,通過跟蹤粒子分布函數的輸運而后對分布函數求矩來獲得宏觀平均特性。格子Boltzmann方法的動理論特性使得它在模擬許多復雜流動的時候更有效,如 多孔介質流動、懸浮流、多相流、多組分流等。格子Boltzmann方法具有天生的并行特性,以及邊界處理簡單、程序易于實施等優點。采用LBM方法求解物理問題時的基本過程如圖I所示。對于一個特定的物理問題,首先進行如圖I中步驟SllO至步驟S130的輔助步驟。步驟S110,基于各種簡化假設,進行物理建模,確定出計算區域、初始條件以及邊界條件等,并根據物理問題的不同,選擇相應的格子Boltzmann模型。步驟S120,進行網格劃分,確定節點。假設網格劃分大小為NX*NY,其中,NX為x方向的大小,NY為y方向的大小。步驟S130,根據不同格子Boltzmann模型,選擇控制方程,并對控制方程進行離散。如采用標準格子Boltzmann方法對等溫不可壓縮流動進行模擬,則離散后的控制方程為LBGK方程。前面這3步是在數值模擬之前就進行的。隨后進入數值模擬階段。步驟S140,根據物理問題,給定所有格點上的宏觀參量(密度、速度、黏性系數等),并由此計算出所有格點上各個方向的平衡分布函數,以此作為計算的初場。步驟S150,求解離散后的控制方程,例如,采用遷移碰撞規則求解LBGK方程。步驟S160,根據邊界條件,在相應邊界格點上實施邊界處理格式。步驟S170,基于不同格子Boltzmann模型的宏觀量的定義法則,計算各格點上的宏觀參量。步驟S180,判斷計算是否收斂,若計算收斂,則轉步驟S190 ;否則返回步驟S150繼續求解。步驟S190,輸出計算結果。廣泛應用的格子-Boltzmann單松弛時間近似BGK模型基于如下的演化方程 I/{Χ + ββ, + )=— —Ifl(XJ)-, j = O 漢式⑴ τ這里,N為網格大小,fi為粒子分布函數,代表時間t在 處存在以微觀速度^運動的粒子的概率。松弛時間τ代表達到局部平衡的速率,與流體的動粘性系數相關。平衡分布函數/%是Maxwe 11-Bo Itzmann方程的低馬赫數近似,取決于流體的密度和流動速度。它們之間的關系由如下表達式決定。權利要求1.一種格子玻爾茲曼方法的并行加速方法,包括 (PU端確定網格所有格點上的宏觀參量及其初始值,定義數據結構和存儲方式用于存儲每個格點各個方向的平衡分布函數和每個格點的宏觀參量,并根據所述宏觀參量計算出所有格點上各個方向的平衡分布函數,并設置至強融核(MIC)卡內核的線程執行配置; 至強融核(MIC)端根據所述宏觀參量及其初始值、所述線程執行配置以及所述網格所有格點上各個方向的平衡分布函數進行遷移和碰撞的并行計算和并行的邊界處理,并根據所述網格所有格點各個方向的平衡分布函數獲得收斂狀態并傳遞給所述CPU端。2.根據權利要求I所述的方法,其中 所述宏觀參量包括密度、速度、參考長度、雷諾數和黏性系數。3.根據權利要求I所述的方法,其中,所述CPU端設置MIC卡內核的線程執行配置的步驟,包括 所述CPU端根據所述MIC卡的核數設置并行執行的線程數。4.根據權利要求I所述的方法,其中,所述并行的邊界處理包括 反彈法或者非平衡外推法的邊界處理。5.根據權利要求I所述的方法,其中 所述MIC端根據所述CPU端確定的網格所有格點上的宏觀參量及其初始值,計算出所有格點上各個方向的平衡分布函數。6.根據權利要求I所述的方法,其中 所述MIC端的MIC卡內核中的每個線程計算一行網格點的遷移和碰撞處理。7.一種格子玻爾茲曼方法的并行加速系統,包括CPU端和至強融核(MIC)端,其中 所述CPU端用于確定網格所有格點上的宏觀參量及其初始值,定義數據結構和存儲方式用于存儲每個格點各個方向的平衡分布函數和每個格點的宏觀參量,并根據所述宏觀參量計算出所有格點上各個方向的平衡分布函數;以及設置至強融核(MIC)卡內核的線程執行配置; 所述MIC端用于根據所述宏觀參量及其初始值、所述線程執行配置以及所述網格所有格點上各個方向的平衡分布函數進行遷移和碰撞的并行計算以及并行的邊界處理;并用于根據所述網格所有格點各個方向的平衡分布函數獲得收斂狀態傳遞給所述CPU端。8.根據權利要求7所述的系統,其中 所述宏觀參量比如包括密度、速度、參考長度、雷諾數和黏性系數。9.根據權利要求7所述的系統,其中 所述CPU端用于根據MIC端的MIC卡的核數設置并行執行的線程數。10.根據權利要求7所述的系統,其中 所述MIC端用于進行反彈法或者非平衡外推法的邊界處理。11.根據權利要求7所述的系統,其中 所述MIC端用于根據所述CPU端確定的網格所有格點上的宏觀參量及其初始值,計算出所有格點上各個方向的平衡分布函數。12.根據權利要求7所述的系統,其中 所述MIC端的MIC卡內核中的每個線程計算一行網格點的遷移和碰撞處理。全文摘要本專利技術公開了一種格子玻爾茲曼方法的并行加速方法及系統,克服目前使用X86服務器集群來進行LBM處理在時間等消耗較大的缺陷,該方法中CPU端確定網格所有格點上的宏觀參量及其初始值,定義數據結構和存儲方式用于存儲每個格點各個方向的平衡分布函數和每個格點的宏觀參量,根據宏觀參量計算出所有格點上各方向的平衡分布函數,設置MIC卡內核的線程執行配置;MIC端根據宏觀參量及其初始值、線程執行配置及網格所有格點上各方向的平衡分布函數進行遷移和碰撞的并行計算和并行的邊界處理,并根據網格所有格點各方向的平衡分布函數獲得收斂狀態。本申請的實施例提高了格子Boltzmann方法的處理性能,滿足了流體模擬的需求。文檔編號G06F17/50GK102945295SQ20121039062公開日2013年2月27日 申請日期2012年10月15日 優先權日2012年10月15日專利技術者張廣勇, 張清 申請人:浪潮(北京)電子信息產業有限公司本文檔來自技高網...
【技術保護點】
一種格子玻爾茲曼方法的并行加速方法,包括:CPU端確定網格所有格點上的宏觀參量及其初始值,定義數據結構和存儲方式用于存儲每個格點各個方向的平衡分布函數和每個格點的宏觀參量,并根據所述宏觀參量計算出所有格點上各個方向的平衡分布函數,并設置至強融核(MIC)卡內核的線程執行配置;至強融核(MIC)端根據所述宏觀參量及其初始值、所述線程執行配置以及所述網格所有格點上各個方向的平衡分布函數進行遷移和碰撞的并行計算和并行的邊界處理,并根據所述網格所有格點各個方向的平衡分布函數獲得收斂狀態并傳遞給所述CPU端。
【技術特征摘要】
【專利技術屬性】
技術研發人員:張廣勇,張清,
申請(專利權)人:浪潮北京電子信息產業有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。