劉 杰,龔春葉,楊 博,郭曉威,甘新標(biāo),李勝國, 李 超,陳旭光,肖調(diào)杰,穆利安,宋 敏,趙冬勇,鞠羽中
(1.國防科技大學(xué)計算機(jī)學(xué)院,湖南 長沙 410073;2.復(fù)雜系統(tǒng)軟件工程湖南省重點實驗室,湖南 長沙 410073)
核動力裝置的安全研究是發(fā)展核電的基礎(chǔ),利用數(shù)值模擬技術(shù)進(jìn)行核動力裝置的研究是當(dāng)前核科學(xué)與工程中的主要手段[1]。早期的核反應(yīng)堆熱工水力的數(shù)值研究大多基于大尺度的幾種參數(shù)或一維系統(tǒng)分析方法,主要研究核動力系統(tǒng)中物理量的平均特性。近年來,隨著計算機(jī)的快速發(fā)展,基于更為精細(xì)化的計算流體力學(xué)(CFD)方法和熱工流體力學(xué)軟件的核動力熱工水力研究得到廣泛研究和應(yīng)用[2]。
目前我國核反應(yīng)堆熱工CFD軟件仍主要采用國外商業(yè)軟件。由于西方國家對CFD軟件核心技術(shù)的禁運(yùn),導(dǎo)致無法根據(jù)應(yīng)用需求進(jìn)行物理模型的修改和擴(kuò)展,也無法高效利用國產(chǎn)高性能計算機(jī)提供的計算資源。商業(yè)CFD程序不能完全滿足我國反應(yīng)堆應(yīng)用的需求。國外CFD軟件起步早,20世紀(jì)80年代英國CHAM公司推出第1個具備通用性的CFD商業(yè)軟件PHOENICS[3]。此后,STAR-CD、Fluent和CFX也相繼問世于英國并成為主流CFD分析軟件。2003年和2006年CFX和Fluent先后被ANSYS收購集成為一整套CFD解決方案[4]。作為后起之秀的NUMECA[5],由于其高速流動計算性能強(qiáng),在跨、超音速區(qū)的高速壓縮機(jī)、汽輪機(jī)等模擬中具有明顯優(yōu)勢。法國的STAR-CCM+[6]堪稱為“下一代CFD解決方案”,主要支持多面體網(wǎng)格,內(nèi)存開銷少且求解速度快,但其在核反應(yīng)堆領(lǐng)域中的應(yīng)用尚處初期階段。此外,Exa公司研發(fā)了一款基于格子玻爾茲曼方法LBM(Lattice Boltzmann Method)[7]的CFD商業(yè)軟件POWERFLOW[8],但仍有許多技術(shù)問題尚待解決。
目前,CFD商業(yè)軟件已廣泛用于核反應(yīng)堆的熱工水力模擬。2006年重水反應(yīng)堆設(shè)計時就較早使用CFX 10.0模擬燃料冷卻劑通道問題[9]。同年,德國安全研究所利用CFX模擬下腔室的混合流動[10]。CFX也在反應(yīng)堆安全領(lǐng)域被廣泛用于與REACFLOW等程序的耦合分析[11 - 13]。意大利比薩大學(xué)利用Fluent程序模擬超臨界水堆中的不穩(wěn)定現(xiàn)象[14]。德國反應(yīng)堆安全研究所等使用CFX進(jìn)行了多尺度CFD模型模擬[15]。上述工作均關(guān)注反應(yīng)堆中的單相流問題,而對于多相流問題仍處于系統(tǒng)評價和基準(zhǔn)校驗階段,代表性的工作是美國能源部組織的輕水堆先進(jìn)仿真聯(lián)盟(CASL)[16]和核能先進(jìn)仿真建模(NEAMS)[17]2個項目,代表著目前核能仿真及數(shù)值反應(yīng)堆領(lǐng)域的最新進(jìn)展。
不同于商業(yè)軟件,CFD開源軟件源代碼公開且可免費獲取,最具代表性的是發(fā)源于英國帝國理工大學(xué)的OpenFOAM[18 - 20]。其基于有限體積法,能夠求解湍流、熱傳遞、不可壓及可壓縮流體等流動問題,可以針對特定應(yīng)用問題方便地編寫自定義的求解器。此外,由法國電力集團(tuán)于1997年開始研發(fā)的通用CFD開源軟件Code_Saturne[21],能夠完成流體動力學(xué)中的湍流、傳熱等流體計算,已用于核能源相關(guān)研究。國防科技大學(xué)計算機(jī)學(xué)院與中國核動力院合作研制的基于OpenFOAM的CFD模塊能夠預(yù)測卸壓箱高速噴氣過程等簡化的工程應(yīng)用場景[22]。但總體來說,這類開源軟件的計算精度和計算效率等無法完全滿足核反應(yīng)堆工程設(shè)計的要求。
相比而言,國內(nèi)面向核反應(yīng)堆的CFD技術(shù)及其軟件研發(fā)起步較晚。中國工程物理研究院高性能數(shù)值模擬軟件中心自主研制了支持結(jié)構(gòu)網(wǎng)格的JASMIN框架[23]、支持非結(jié)構(gòu)網(wǎng)格的JAUMIN框架[24]和支持實體組合幾何的JCOGIN框架[25]。中國空氣動力研究與發(fā)展中心研發(fā)的風(fēng)雷軟件平臺[26]和混合網(wǎng)格CFD軟件HyperFlow[27],主要面向氣動力學(xué)仿真。中國科學(xué)院數(shù)學(xué)與系統(tǒng)科學(xué)研究院開發(fā)的系統(tǒng)PFEPG (Parallel Finite Element Program Generator)[28],采用組件化程序設(shè)計方法和軟件自動生成技術(shù),可自動生成基于區(qū)域分解算法的并行有限元程序。盡管國內(nèi)在CFD程序研發(fā)方面已取得一定成果,但與國外相比,在物理模型全面性、計算精度、計算效率以及軟件易用性等方面仍存在差距,不能完全滿足核反應(yīng)堆熱工水力應(yīng)用開發(fā)的要求。
目前,國內(nèi)核反應(yīng)堆熱工水力CFD分析仍主要采用國外商業(yè)軟件。上海核工程研究設(shè)計院利用CFX模擬了反應(yīng)堆安全閥結(jié)構(gòu)及蒸汽發(fā)生器二次側(cè)局部流場[29];西安交通大學(xué)使用Fluent模擬應(yīng)急堆芯冷卻系統(tǒng)冷水注入壓力容器時的瞬態(tài)流動特性[30];中國核動力研究設(shè)計院利用CFX分析棒束定位格架的單相流場特性[31];深圳中廣核工程設(shè)計有限公司采用CFX模擬反應(yīng)堆進(jìn)行了壓縮空氣隔離閥開啟瞬間流速計算[32];為真實模擬復(fù)雜熱工水力現(xiàn)象,清華大學(xué)工程物理系先后通過有效耦合COBEA-IV與CFX以及RELAP5與CFX程序?qū)崿F(xiàn)了多尺度模擬[33,34];海軍工程大學(xué)船舶與動力工程學(xué)院實現(xiàn)了時空中子動力學(xué)模型與CFX聯(lián)合模擬反應(yīng)堆局部三維流場[35]。還有許多研究工作開始關(guān)注不同類型反應(yīng)堆的熱工水力特性,如借助CFX模擬第4代核能系統(tǒng)中多孔介質(zhì)傳熱現(xiàn)象等[36]。
綜上所述,商業(yè)CFD程序已廣泛應(yīng)用于反應(yīng)堆的熱工水力模擬,但不能完全滿足反應(yīng)堆的應(yīng)用需求;開源CFD程序有部分應(yīng)用,但與商業(yè)CFD程序相比,在物理模型全面性、計算精度、計算效率和易用性等方面仍存在差距。因此,為更好地滿足局部精細(xì)熱工水力分析的需求,需要更全面的物理模型、較高的計算精度和較好的并行計算效率,有必要開發(fā)自主熱工CFD軟件。本文詳細(xì)描述了熱工流體力學(xué)并行應(yīng)用YH-ACT(Parallel Analysis Code of Thermohy-draulics)的設(shè)計、實現(xiàn)方案和測試結(jié)果。
在核反應(yīng)堆熱工水力分析過程中,需要對冷卻劑的流動傳熱過程進(jìn)行建模。完整描述流體中的流動以及傳熱過程需要的理論模型包含3部分:質(zhì)量守恒方程、動量守恒方程和能量守恒方程[37]。當(dāng)溫度較高時,還需考慮熱輻射,需要對熱量的輻射過程進(jìn)行建模。反應(yīng)堆中的流體(冷卻劑)區(qū)域,堆芯燃料組件及管壁等固體區(qū)域的熱量傳遞過程對整個運(yùn)行安全和性能都至關(guān)重要,因此,還需要研究流-固耦合傳熱模型。
壓力容器內(nèi)結(jié)構(gòu)復(fù)雜,流動尺度范圍較大,且工程實際應(yīng)用中更關(guān)注物理量的平均量,因此,一般對上述基本三大方程進(jìn)行雷諾平均,計算流體流動的平均物理量。平均化后的動量方程中出現(xiàn)雷諾應(yīng)力項,需要增加湍流模型才能使得平均化后的質(zhì)量、動量、能量方程組封閉,從而進(jìn)行堆芯冷卻劑流動和傳熱過程的模擬。
YH-ACT目前主要考慮雷諾時均湍流模型的實現(xiàn),當(dāng)溫度較高時,還需考慮熱輻射,求解輻射輸運(yùn)方程的目的是獲得能量方程中的能量源項,并獲得與固體壁面輻射熱通量相關(guān)的物理量。至于流-固耦合傳熱模型,一般通過流體域和固體域的交界面建立流體-固體域間的熱量傳遞模型,計算固體域內(nèi)能量方程時,將流體域交界面上的相關(guān)物理量作為邊界條件;而計算流體域內(nèi)能量方程時,將固體交界面上的熱量(溫度)分布作為流體能量方程的源項,最終實現(xiàn)流體-固體的耦合傳熱。
假定流體為穩(wěn)態(tài)不可壓縮,且忽略重力影響,動量守恒方程和能量守恒方程可以表示成以下通用形式:
(1)
要使封閉方程得到定解,還需要滿足一些邊界條件,YH-ACT程序中包含的主要邊界類型有進(jìn)口邊界:速度進(jìn)口、壓力進(jìn)口等;出口邊界:outflow、壓力出口等;壁面邊界:滑移壁面、無滑移壁面、旋轉(zhuǎn)壁面;對稱邊界;周期邊界等。
對任意形狀的控制體積,引入高斯散度定理,得積分形式如下:
(2)
其中,V為控制體體積;S為控制容積的表面積;S為控制容積界面的面積矢量,其方向與外法線單位矢量一致。
假設(shè)對流項采用一階迎風(fēng)格式,Laplacian項采用非正交處理,源項進(jìn)行線性化處理,經(jīng)過一系列分析,最后可得離散方程。對離散后的控制方程組的求解可采用耦合式解法及分離式解法。
一種簡單直接的并行方法就是對網(wǎng)格數(shù)據(jù)進(jìn)行分解。將網(wǎng)格數(shù)據(jù)劃分成多份后分配給不同進(jìn)程計算,過程中通過進(jìn)程間通信來實現(xiàn)數(shù)據(jù)交換。
網(wǎng)格數(shù)據(jù)分解如圖1所示。求解區(qū)域被劃分為互不重疊的網(wǎng)格單元,每個進(jìn)程僅讀取分配給本進(jìn)程的網(wǎng)格數(shù)據(jù)。這樣不可避免地需要進(jìn)行進(jìn)程之間的數(shù)據(jù)通信。無冗余的網(wǎng)格數(shù)據(jù)分解方法中各個進(jìn)程之間并沒有共享網(wǎng)格數(shù)據(jù)。由于采用的離散格式最高不超過2階,計算過程中僅需要使用相鄰1~2個網(wǎng)格單元的值,這樣在并行數(shù)據(jù)劃分之后,實際僅需要獲取與邊界相鄰的網(wǎng)格單元中的數(shù)據(jù)。因此,可以將需要獲取的跨進(jìn)程數(shù)據(jù)存儲在邊界上(如圖1中虛線所示),此時,求解可分解為如下3步:邊界初始化(獲取相鄰處理器上的數(shù)據(jù))、本地計算和邊界更新(更新相鄰處理器上的數(shù)據(jù))。
Figure 1 Decomposition of non-redundant grid data圖1 無冗余網(wǎng)格數(shù)據(jù)分解
基于循環(huán)遍歷所有網(wǎng)格塊的方式預(yù)先建立通信關(guān)系,再根據(jù)通信關(guān)系實施通信。對于每個網(wǎng)格塊來說,它只需要與其鄰居網(wǎng)格塊進(jìn)行通信,建立通信關(guān)系就是找到所有的鄰居網(wǎng)格塊,并存放到一個本地數(shù)組中。對于任意一個網(wǎng)格塊來說,它可見的網(wǎng)格塊就只有它本身及其鄰居這些“局部化”的網(wǎng)格塊。當(dāng)并行規(guī)模提高時,網(wǎng)格塊在通信時不必遍歷所有的網(wǎng)格塊,而只需遍歷“局部化”的網(wǎng)格塊即可,大大提高了通信的效率。采用MPI異步通信可進(jìn)一步提高通信效率。一個通信模式示例如圖2所示。
Figure 2 Illustration of communication mode圖2 通信模式示例
通信偽代碼如下所示:
//通信過程的偽代碼
voidCommunicate(/*args*/){
for(intizone= 0;izone intsrcZoneID=GetZoneID(izone); if(srcZoneID == currentZoneID){ for(intidstZone= 0;idstZone intdstZoneID=GetZoneID(idstZone); if(dstZoneID==currentZoneID) continue; MPI_Send(dstZoneID,/*other args*/); } } else{ MPI_Recv(srcZoneID,/*other args*/); } } } 基于上述網(wǎng)格數(shù)據(jù)分解,可以進(jìn)一步進(jìn)行兩級或多級分區(qū)。采用MPI/OpenMP混合并行模式。在一級分區(qū)上用 MPI并行,然后將一級分區(qū)劃分為若干個二級子分區(qū),二級子分區(qū)的數(shù)量一般等于計算結(jié)點內(nèi)部的核數(shù),在二級分區(qū)上進(jìn)行粗粒度的 OpenMP 并行。 這種多層級的并行架構(gòu)適應(yīng)于目前的超級計算機(jī)集群的架構(gòu),一級分區(qū)分配在各個計算結(jié)點上,而二級分區(qū)在同一個計算結(jié)點之上。其同樣適用于異構(gòu)體系,第1層仍然使用 MPI 通信,即 CPU 核間或計算結(jié)點間、基于網(wǎng)格一級分區(qū)交界面信息的MPI 通信;第2層是 OpenMP 并行,即計算核心間、基于網(wǎng)格二級子分區(qū)的粗粒度并行,CPU和協(xié)處理器間采用相應(yīng)的通道進(jìn)行數(shù)據(jù)傳輸。當(dāng)沒有協(xié)處理器時,上述異構(gòu)并行模式自動退化為同構(gòu)并行模式。為了更好地控制不同的分區(qū)層級,將整個計算域分為2層:第1層為Region分區(qū),第2層為Zone子分區(qū)。在并行計算時,Region分區(qū)被分配到計算結(jié)點,對應(yīng)一個MPI進(jìn)程,Zone子分區(qū)被分配到計算核心線程,對應(yīng)一個OpenMP線程。 典型的CFD求解器執(zhí)行流程主要包括殘差初始化、時間步長計算、 通量計算、時間推進(jìn)、流場更新、交界面通信等過程。求解器Solver被應(yīng)用到計算域Zone上,針對不同的物理模型,一個Zone上可能還會加載多個Solver。在計算過程中,Region依次遍歷其中的Zone,調(diào)用相應(yīng)的求解器執(zhí)行計算任務(wù);當(dāng)使用OpenMP并行時,則可以對每個Zone并發(fā)執(zhí)行計算任務(wù)。 在多級并行架構(gòu)中,每一個MPI進(jìn)程上可能有多個子網(wǎng)格塊,如果直接按照前文所述的循環(huán)遍歷網(wǎng)格塊的模式進(jìn)行MPI/OpenMP混合并行通信,會存在進(jìn)程間多次通信的問題。以圖3為例,Region 0和Region 1有2組相鄰的子網(wǎng)格塊,每次交換數(shù)據(jù)都需要2個收發(fā)過程。因此,可以將進(jìn)程間的網(wǎng)格分區(qū)數(shù)據(jù)進(jìn)行打包,如圖4所示,以減少通信的次數(shù)。 Figure 3 Illustration of partition hierarchy圖3 分區(qū)層級示例 Figure 4 Example of process data packaging圖4 進(jìn)程數(shù)據(jù)打包示例 YH-ACT程序采取基于組件的架構(gòu),針對核反應(yīng)堆熱工水力CFD程序需求,以CFD求解中的數(shù)據(jù)加載、物理前處理、求解、結(jié)果輸出等關(guān)鍵步驟構(gòu)成的CFD程序流程為框架藍(lán)圖。以共性并行算法和并行支撐為基礎(chǔ),結(jié)合現(xiàn)有先進(jìn)的軟件工程方法,形成了基于國產(chǎn)超算系統(tǒng),以物理模型模塊、數(shù)值離散模塊、線性方程組模塊、并行通信模塊等為主要部件的CFD程序總體框架,如圖5所示。 Figure 5 Framework of YH-ACT program圖5 YH-ACT程序框架 前處理工具箱具有網(wǎng)格控制、物理前處理等功能;物理模型和數(shù)值求解構(gòu)成CFD求解器,封裝高保真度物理數(shù)學(xué)模型和高效數(shù)學(xué)求解方法,并具備參數(shù)化配置能力。共性算法實現(xiàn)稀疏迭代法與預(yù)條件子等并行計算,通過與計算機(jī)體系結(jié)構(gòu)的緊密耦合,實現(xiàn)大規(guī)模并行計算優(yōu)化的支持,為領(lǐng)域解法器提供基礎(chǔ)性計算能力;并行支撐可以封裝高性能計算機(jī)系統(tǒng)結(jié)構(gòu)特點,提供基礎(chǔ)性的計算、通信、存儲、調(diào)試等功能,從而支持大規(guī)模CFD計算應(yīng)用高效運(yùn)行。 基于上述分析,本文將YH-ACT程序垂直劃分為4個邏輯層,即用戶交互層、模型算法層、并行計算層和數(shù)據(jù)層,如圖6所示。其中用戶交互層負(fù)責(zé)接收用戶操作,展現(xiàn)用戶操作接口,這一層要求實現(xiàn)時為用戶提供友好的界面,符合科研人員的操作習(xí)慣,提高用戶體驗。而用戶操作的具體業(yè)務(wù)邏輯則由模型算法層實現(xiàn),這樣將業(yè)務(wù)邏輯和用戶操作分開的一個好處是當(dāng)業(yè)務(wù)邏輯改變后可以僅改變模型算法層而不影響用戶操作層,且也不影響用戶原來的體驗。同樣,模型算法層僅涉及業(yè)務(wù)邏輯,關(guān)于實體數(shù)據(jù)的一切操作都封裝進(jìn)并行計算層,數(shù)據(jù)層負(fù)責(zé)數(shù)據(jù)的持久化并向并行計算層提供數(shù)據(jù)訪問接口。 Figure 6 Logical framework diagram圖6 邏輯框架圖 YH-ACT程序采用了典型的MVC(Modal View Controler)設(shè)計模式,具有耦合性低、重用性高、生命周期成本低、部署快、可維護(hù)性高等優(yōu)點。其中M是指數(shù)據(jù)模型,V是指用戶界面,C則是指控制器,在YH-ACT程序的架構(gòu)中業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層擔(dān)當(dāng)?shù)木褪强刂破鞯慕巧J褂肕VC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)可以分別用柱狀圖、餅狀圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。 Figure 7 GUI interface of YH-ACT program圖7 YH-ACT程序GUI界面 YH-ACT程序的GUI界面如圖7所示,界面大致分為菜單工具欄、控制樹、參數(shù)設(shè)置頁、視圖瀏覽窗口、信息窗口5個區(qū)域。菜單工具欄有組織地展示前處理過程的全部功能。控制樹管理全部模型內(nèi)容,包括網(wǎng)格、求解域、邊界條件、材料數(shù)據(jù)庫、化學(xué)反應(yīng)等。視圖瀏覽窗口以圖形的方式直觀呈現(xiàn)模型計算結(jié)果。信息窗口用于反饋CFD命令的執(zhí)行情況。因常用的應(yīng)用程序GUI中菜單欄與工具欄同時存在且功能上沒有區(qū)別,所以界面此處將兩者結(jié)合為菜單工具欄,是CFD前處理應(yīng)用程序里所有功能的大集成,且以文字與圖形按鈕結(jié)合的形式展示,最常用的功能以圖形按鈕體現(xiàn)。其摒棄了傳統(tǒng)逐層嵌套的多級下拉菜單組件,將功能項按類劃分到不同的選項卡分頁中,每個分頁內(nèi)部又繼續(xù)包含多個功能組,各種相關(guān)功能命令視為一組。界面的樣式采用目前桌面軟件主流的Ribbon紐帶扁平風(fēng)格,以簡潔清晰的方式凸顯CFD前處理應(yīng)用功能主題。 GUI設(shè)置界面主要包含2部分:左側(cè)控制樹顯示網(wǎng)格和數(shù)值計算所需的相關(guān)設(shè)置目錄,以樹形結(jié)構(gòu)布置;中間參數(shù)設(shè)置頁為具體的參數(shù)詳情屬性值編輯而設(shè)置;而右側(cè)視圖瀏覽窗口以圖形界面顯示相關(guān)的幾何和網(wǎng)格信息,并隨用戶的設(shè)置顯示相關(guān)的邊界信息。首先,導(dǎo)入計算的網(wǎng)格,導(dǎo)入成功后會在Mesh菜單下顯示導(dǎo)入的網(wǎng)格信息,包含outdown、mashup、kong21和core2一共4個部件的網(wǎng)格。然后,在Materials菜單下創(chuàng)建流體介質(zhì)的相關(guān)物理性質(zhì)。接著,在Simulation菜單下的Analysis Type下設(shè)置為瞬態(tài)計算模型,并設(shè)置瞬態(tài)計算時間等。雙擊Default Domain菜單,設(shè)置計算域中的流動介質(zhì)和計算模型,并在Default Domain菜單創(chuàng)建邊界條件(Inlet和Outlet等),與此同時對瞬態(tài)計算初始化。最后,在Solver→Solver Control菜單下設(shè)置數(shù)值求解的離散格式和收斂準(zhǔn)則,并在Solver→Output Control菜單下設(shè)置求解結(jié)果的輸出。通過以上步驟,完成tran.mesh算例的設(shè)置,并將其保存為tran.sim文件后,通過求解器就能利用tran.sim進(jìn)行算例的求解。 本節(jié)選取3個典型案例模型進(jìn)行功能驗證,測試平臺系統(tǒng)配置為:單結(jié)點2個12核CPU,共24核。主頻2.3 GHz,系統(tǒng)內(nèi)存為125 GB。 (1)案例模型1:均勻熱通量的管道層流流動,如圖8所示。 計算域為半徑R= 0.0025 m,長度L=0.1 m的圓管道。Vx表示x方向的速度,τ表示剪切應(yīng)力,PI表示進(jìn)口壓力,PO表示出口壓力。網(wǎng)格劃分為非結(jié)構(gòu)網(wǎng)格,網(wǎng)格數(shù)量總計為5 080個。網(wǎng)格剖分如圖9所示。 Figure 8 Fluid computing domain of the case model 1圖8 案例模型1的流體計算域 Figure 9 Meshing of the case model 1圖9 案例模型1的網(wǎng)格劃分 幾何尺寸、材料屬性和物理模型如表1所示。 Table 1 Geometry,material properties and physical model of the case model 1表1 案例模型1的幾何尺寸、材料屬性和物理模型 將網(wǎng)格化模型分別用Fluent和YH-ACT進(jìn)行數(shù)值求解,得到在x=0截面上的溫度云圖。二者在x=0截面上的溫度分布結(jié)果幾乎相同,取出口截面中心點溫度和Fluent結(jié)果進(jìn)行對比,如表2所示。由表2可知,在出口中心點溫度對比中,YH-ACT的計算結(jié)果比目標(biāo)值偏小,相對誤差為0.3%。 (2)案例模型2:圓管湍流壓降,如圖10所示。 計算域為半徑R= 0.00125 m,長度L=0.1 m的圓管道。網(wǎng)格劃分為非結(jié)構(gòu)網(wǎng)格,網(wǎng)格數(shù)量總計為4 500個。由于管道非常細(xì)長,顯示時長度方向經(jīng)過縮放后網(wǎng)格如圖11所示。 Table 2 Temperature at the center of the exit section of the case model 2表2 案例模型2的出口截面中心點溫度對比 Figure 10 Fluid computing domain of the case model 2圖10 案例模型2的流體計算域 Figure 11 Meshing of the case model 2圖11 案例模型2的網(wǎng)格劃分 幾何尺寸、材料屬性和物理模型如表3所示。 Table 3 Geometry,material properties and physical model of the case model 2表3 案例模型2的幾何尺寸、材料屬性和物理模型 將網(wǎng)格化模型分別用YH-ACT和Fluent軟件進(jìn)行數(shù)值求解,得到在zy方向上x=0截面上的壓力云圖。二者在x=0截面上壓力云圖結(jié)果差距非常小,取進(jìn)出口截面壓差結(jié)果進(jìn)行對比,如表4所示可知,在進(jìn)出口截面壓差上YH-ACT的計算結(jié)果相比Fluent計算結(jié)果相對誤差為1.1%。 (3)案例模型3:T型管中的層流流動,如圖12所示。 計算域為L=3.0 m,W=1.0 m,深度H=1.0 m的T型管。網(wǎng)格劃分為結(jié)構(gòu)網(wǎng)格,網(wǎng)格數(shù)量總計為72 000個。網(wǎng)格如圖13所示。 Table 4 Pressures of inlet and outlet of the case model 2表4 案例模型2的進(jìn)出口截面壓差對比 Figure 12 Fluid computation domain of the case model 3圖12 案例模型3的流體計算域 Figure 13 Meshing of the case model 3圖13 案例模型3的網(wǎng)格劃分 幾何尺寸、材料屬性和物理模型如表5所示。 Table 5 Geometry,material properties and physical model of the case model 3表5 案例模型3的幾何尺寸、材料屬性和物理模型 將網(wǎng)格化模型分別用YH-ACT和Fluent軟件進(jìn)行數(shù)值求解,得到在z=0截面上的y方向速度分量云圖。YH-ACT與Fluent在z=0截面上的y方向速度分量結(jié)果非常接近,取左邊直管中心線上y方向速度分量與Fluent計算結(jié)果相比,如圖14所示,最大相對誤差為1.4%。 Figure 14 The y-velocity at z=0圖14 z=0處y分量速度隨y坐標(biāo)變化曲線 本節(jié)選取案例3中的模型進(jìn)行網(wǎng)格加密后對YH-ACT進(jìn)行并行性能測試,計算時每個結(jié)點用24個進(jìn)程,最大計算規(guī)模達(dá)到400個結(jié)點共9 600個進(jìn)程。結(jié)點數(shù)為17 664 643,四面體單元個數(shù)為103 038 583。 模型穩(wěn)態(tài)情況下測試結(jié)果如表6和圖15所示,共100次迭代,最大計算規(guī)模達(dá)到9 600進(jìn)程??紤]程序主要耗時部分CFD Solver的計算時間,相比單結(jié)點24個進(jìn)程加速比為111.7,并行效率為27.9%。 Table 6 Speedup and parallel efficiency (steady state)表6 模型(穩(wěn)態(tài))的加速比及并行效率 Figure 15 Speedup and parallel efficiency (steady state)圖15 模型(穩(wěn)態(tài))測試的加速比及并行效率 模型瞬態(tài)情況下測試結(jié)果如表7和圖16所示,共100次迭代。從結(jié)果可以看出,最大計算規(guī)模達(dá)到9 600進(jìn)程,相比單結(jié)點24個進(jìn)程程序的加速比為37.2,并行效率為9.3%。 可以看到,YH-ACT有較好的可擴(kuò)展性。就穩(wěn)態(tài)模型而言,當(dāng)測試規(guī)模達(dá)到9 600個進(jìn)程時,并行效率依然有28%左右。而同等網(wǎng)格規(guī)模的瞬態(tài)模型的并行效率會相對低一些,這與單個時間步的迭代次數(shù)設(shè)置及先后時間步之間的數(shù)據(jù)依賴等因素有關(guān)。 Table 7 Speedup and parallel efficiency (transient state)表7 模型(瞬態(tài))的加速比及并行效率 Figure 16 Speedup and parallel efficiency (transient state)圖16 模型(瞬態(tài))測試的加速比及并行效率 本文詳細(xì)描述了一種熱工流體力學(xué)并行應(yīng)用程序YH-ACT的設(shè)計、實現(xiàn)方案和測試結(jié)果。通過對程序的驗證和測試可以看出YH-ACT具備與商業(yè)CFD軟件相當(dāng)?shù)挠嬎隳芰途龋⑿行阅茌^好,具備大型超算平臺并行拓展能力,能夠滿足局部精細(xì)熱工水力分析的需求。4.3 多級并行架構(gòu)
4.4 多級并行通信優(yōu)化
5 并行應(yīng)用程序軟件架構(gòu)
5.1 YH-ACT程序架構(gòu)
5.2 GUI界面
6 驗證與測試
6.1 功能驗證
6.2 性能測試
7 結(jié)束語