基于MPI+OpenMP混合編程模式的大規(guī)模顆粒兩相流LBM并行模擬
發(fā)布時(shí)間:2021-09-02 21:11
針對(duì)大規(guī)模三維顆粒兩相流全尺度模擬并行計(jì)算問(wèn)題,該文采用MPI+OpenMP混合編程模式,其中機(jī)群節(jié)點(diǎn)采用MPI并行計(jì)算,節(jié)點(diǎn)內(nèi)部采用OpenMP進(jìn)行細(xì)粒化的并行計(jì)算,并根據(jù)格子Boltzmann方法(LBM)顆粒兩相流的特點(diǎn)進(jìn)行OpenMP程序并行優(yōu)化設(shè)計(jì),提出了一種適用于大量顆粒的三維顆粒兩相流LBM并行計(jì)算模型。以顆粒沉積問(wèn)題為例,在集群計(jì)算機(jī)平臺(tái)對(duì)并行算法的加速性能進(jìn)行測(cè)試。計(jì)算結(jié)果表明:該算法具有良好的加速比及擴(kuò)展性,并且其計(jì)算量具有顆粒數(shù)量不敏感的優(yōu)點(diǎn),適用于大規(guī)模多顆粒兩相流問(wèn)題的研究。
【文章來(lái)源】:清華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2019,59(10)北大核心EICSCD
【文章頁(yè)數(shù)】:7 頁(yè)
【部分圖文】:
圖2計(jì)算區(qū)域劃分及信息通信
上所述,本模型將顆粒計(jì)算的大部分環(huán)節(jié)進(jìn)行了OpenMP并行設(shè)計(jì),整個(gè)顆粒兩相流并行計(jì)算的程序框架如圖3所示。其中,形成顆粒鏈表結(jié)構(gòu)需要根據(jù)顆粒位置進(jìn)行順序鏈接,此外顆粒之間相互作用存在前后兩個(gè)顆粒相互作用關(guān)系,這兩部分很難借助并行計(jì)算加速,并且其計(jì)算量不大,因此未采用OpenMP并行加速。圖3程序計(jì)算框圖3計(jì)算結(jié)果與討論為驗(yàn)證模型計(jì)算的準(zhǔn)確性,以單個(gè)顆粒沉降為例進(jìn)行計(jì)算,并與文[32]中實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。如圖4所示,計(jì)算區(qū)域?yàn)椋保埃悖?#215;10cm×6cm,顆粒直徑為Dp=3.0cm,顆粒密度ρp=1.12g/cm3,顆粒初始位于(5cm,5cm,12.75cm)。選擇4組不同流體密度ρf(g/cm3)和黏度μ[g/(cm·s)]的顆粒進(jìn)行計(jì)算。圖4三維顆粒沉降示意圖Case1:0.97g/cm3,3.73g/(cm·s);Case2:0.965g/cm3,2.12g/(cm·s);Case3:0.962g/cm3,1.13g/(cm·s);Case4:0.96g/cm3,0.58g/(cm·s)。在LBM中選擇尺寸為200×200×320的計(jì)算網(wǎng)格,松弛因子τ=0.6,并采用固壁邊界。如圖5所示,仿真計(jì)算結(jié)果與實(shí)驗(yàn)結(jié)果[32]基本吻合。本文進(jìn)一步以多顆粒沉降問(wèn)題為例測(cè)試所提出的并行算法。選擇尺寸為1.5cm×1.5cm×3.0cm的微通道,顆粒直徑
何強(qiáng),等:基于MPI+OpenMP混合編程模式的大規(guī)模顆粒兩相流LBM并行模擬851圖5仿真計(jì)算與實(shí)驗(yàn)結(jié)果[32]對(duì)比分別進(jìn)行1×1×1、1×2×2、2×2×2、2×2×3、2×3×3的均勻劃分,然后對(duì)每個(gè)子區(qū)域單獨(dú)分配一個(gè)節(jié)點(diǎn)。計(jì)算1000個(gè)子步。圖6為計(jì)算過(guò)程中某一時(shí)刻的顆粒分布及流場(chǎng)流線圖。圖6(網(wǎng)絡(luò)版彩圖)顆粒分布及流場(chǎng)流線示例本文采用加速比和加速效率來(lái)度量模型的并行性能。加速比為同一個(gè)任務(wù)在單處理器串行運(yùn)行和多處理器并行運(yùn)行時(shí)執(zhí)行時(shí)間的比率,用來(lái)衡量并行系統(tǒng)或程序并行化的性能和效果,其定義為Sp=T1/Tp;派生出的加速效率的定義為Ep=Sp/p。其中:T1為程序單核串行的執(zhí)行時(shí)間,Tp為當(dāng)有p個(gè)處理器時(shí)的執(zhí)行時(shí)間。如圖7a所示,并行算法的采用大幅縮短了計(jì)算時(shí)間,并且可以發(fā)現(xiàn)對(duì)于不同顆粒濃度的算例,其計(jì)算求解時(shí)間相差不大。程序并行加速比如圖7b所示,當(dāng)顆粒達(dá)到一定數(shù)量之后,顆粒數(shù)量對(duì)并行效率的影響降低。從圖7c可以看出,對(duì)于不同顆粒濃度的情形,加速效率均在0.5之上,說(shuō)明本文并行算法的加速效果較好。圖7并行性能
本文編號(hào):3379742
【文章來(lái)源】:清華大學(xué)學(xué)報(bào)(自然科學(xué)版). 2019,59(10)北大核心EICSCD
【文章頁(yè)數(shù)】:7 頁(yè)
【部分圖文】:
圖2計(jì)算區(qū)域劃分及信息通信
上所述,本模型將顆粒計(jì)算的大部分環(huán)節(jié)進(jìn)行了OpenMP并行設(shè)計(jì),整個(gè)顆粒兩相流并行計(jì)算的程序框架如圖3所示。其中,形成顆粒鏈表結(jié)構(gòu)需要根據(jù)顆粒位置進(jìn)行順序鏈接,此外顆粒之間相互作用存在前后兩個(gè)顆粒相互作用關(guān)系,這兩部分很難借助并行計(jì)算加速,并且其計(jì)算量不大,因此未采用OpenMP并行加速。圖3程序計(jì)算框圖3計(jì)算結(jié)果與討論為驗(yàn)證模型計(jì)算的準(zhǔn)確性,以單個(gè)顆粒沉降為例進(jìn)行計(jì)算,并與文[32]中實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比。如圖4所示,計(jì)算區(qū)域?yàn)椋保埃悖?#215;10cm×6cm,顆粒直徑為Dp=3.0cm,顆粒密度ρp=1.12g/cm3,顆粒初始位于(5cm,5cm,12.75cm)。選擇4組不同流體密度ρf(g/cm3)和黏度μ[g/(cm·s)]的顆粒進(jìn)行計(jì)算。圖4三維顆粒沉降示意圖Case1:0.97g/cm3,3.73g/(cm·s);Case2:0.965g/cm3,2.12g/(cm·s);Case3:0.962g/cm3,1.13g/(cm·s);Case4:0.96g/cm3,0.58g/(cm·s)。在LBM中選擇尺寸為200×200×320的計(jì)算網(wǎng)格,松弛因子τ=0.6,并采用固壁邊界。如圖5所示,仿真計(jì)算結(jié)果與實(shí)驗(yàn)結(jié)果[32]基本吻合。本文進(jìn)一步以多顆粒沉降問(wèn)題為例測(cè)試所提出的并行算法。選擇尺寸為1.5cm×1.5cm×3.0cm的微通道,顆粒直徑
何強(qiáng),等:基于MPI+OpenMP混合編程模式的大規(guī)模顆粒兩相流LBM并行模擬851圖5仿真計(jì)算與實(shí)驗(yàn)結(jié)果[32]對(duì)比分別進(jìn)行1×1×1、1×2×2、2×2×2、2×2×3、2×3×3的均勻劃分,然后對(duì)每個(gè)子區(qū)域單獨(dú)分配一個(gè)節(jié)點(diǎn)。計(jì)算1000個(gè)子步。圖6為計(jì)算過(guò)程中某一時(shí)刻的顆粒分布及流場(chǎng)流線圖。圖6(網(wǎng)絡(luò)版彩圖)顆粒分布及流場(chǎng)流線示例本文采用加速比和加速效率來(lái)度量模型的并行性能。加速比為同一個(gè)任務(wù)在單處理器串行運(yùn)行和多處理器并行運(yùn)行時(shí)執(zhí)行時(shí)間的比率,用來(lái)衡量并行系統(tǒng)或程序并行化的性能和效果,其定義為Sp=T1/Tp;派生出的加速效率的定義為Ep=Sp/p。其中:T1為程序單核串行的執(zhí)行時(shí)間,Tp為當(dāng)有p個(gè)處理器時(shí)的執(zhí)行時(shí)間。如圖7a所示,并行算法的采用大幅縮短了計(jì)算時(shí)間,并且可以發(fā)現(xiàn)對(duì)于不同顆粒濃度的算例,其計(jì)算求解時(shí)間相差不大。程序并行加速比如圖7b所示,當(dāng)顆粒達(dá)到一定數(shù)量之后,顆粒數(shù)量對(duì)并行效率的影響降低。從圖7c可以看出,對(duì)于不同顆粒濃度的情形,加速效率均在0.5之上,說(shuō)明本文并行算法的加速效果較好。圖7并行性能
本文編號(hào):3379742
本文鏈接:http://sikaile.net/kejilunwen/lxlw/3379742.html
最近更新
教材專著