劉會成
【摘 要】CORTH軟件是具有滑速比的四方程均勻流模型的熱工水力子通道軟件,應(yīng)用于反應(yīng)堆堆芯熱工水力分析。在全堆芯pin-by-pin的耦合計算中,使用CORTH軟件進行全堆芯燃料棒級別(Pin-Level)的熱工水力子通道分析,但計算效率無法滿足需求。本文通過開發(fā)軸向并行模塊,提高了CORTH在全堆芯子通道分析的效率。
【關(guān)鍵詞】子通道;CORTH;全堆芯;并行
中圖分類號: TL33 文獻標(biāo)識碼: A 文章編號: 2095-2457(2019)11-0046-002
DOI:10.19694/j.cnki.issn2095-2457.2019.11.021
【Abstract】CORe Thermal Hydraulic analysis program(CORTH)is a Sub-channel program with uniform model. It has been used in total core pin-by-pin coupled anylysis to calcaulate Pin-Level coolant temperature and density.The axial parallel module is Development in CORTH to improve the calcaulate efeective.
【Key words】Subchannel;CORTH;Whole core;Parallel method
0 引言
熱工水力子通道計算軟件CORTH采用具有滑速比的四方程均勻流模型,可以描述一系列相連或不相連的子通道在穩(wěn)態(tài)工況下單相流和兩相流,主要用于對反應(yīng)堆堆芯或帶發(fā)熱棒束實驗的熱工水力分析。通過子通道熱工水力分析,可得到堆芯的溫場、流場、壓力場分布,并可對堆芯燃料棒進行DNBR(偏離泡核沸騰比)分析。
在全堆芯pin-by-pin的耦合計算中,使用CORTH軟件進行全堆芯燃料棒級別(Pin-Level)的熱工水力子通道分析,為物理模塊提供燃料棒級別的熱工水力參數(shù),但計算效率無法滿足需求。本文通過開發(fā)軸向并行模塊,提高了CORTH在全堆芯子通道分析的效率。
1 子通道軟件計算流程
CORTH軟件的計算流程見圖1,其過程為:
(1)讀入由用戶輸入的界面數(shù)據(jù),生成相應(yīng)的子通道例題;
(2)根據(jù)例題生成相應(yīng)的物性、滑速比、空泡份額等查詢表;
(3)求解質(zhì)量、能量和動量守恒方程組,得到堆芯的壓力場、溫場、流場分布;
(4)根據(jù)堆芯參數(shù)分布計算堆芯的DNBR分布。
軟件的核心模塊為守恒方程求解模塊。
2 軸向并行模塊開發(fā)
子程序在使用中一般沿冷卻劑流向?qū)⒍研据S向劃分為10-100個軸向?qū)?。程序從堆芯入口依次計算每一個軸向?qū)拥臒峁に?shù),并以上游的參數(shù)作為每個軸向?qū)拥娜肟跅l件。CORTH軟件串行版本中軸向?qū)佑嬎銥楦鶕?jù)冷卻劑流動方向由下向上順序計算,由于守恒方程組數(shù)值解法中采用一階迎風(fēng)差分,計算每一個軸向?qū)樱╦層)參數(shù)時需要以其上游軸向?qū)樱╦-1層)的參數(shù)作為已知量。軸向?qū)硬⑿惺紫刃柽M行軸向?qū)拥慕怦睿聪枯喌杏嬎鉰層參數(shù)對j-1層參數(shù)的依賴關(guān)系。
軸向并行模塊開發(fā)的主要過程為:(1)軸向?qū)硬⑿薪怦盍鞒淘O(shè)計;(2)軸向?qū)硬⑿蟹桨冈O(shè)計;(3)并行數(shù)據(jù)傳遞;(4)軸向?qū)硬⑿写a實現(xiàn),包括共享內(nèi)存(OPENMP)并行開發(fā)和MPI并行開發(fā)。
2.1 軸向?qū)硬⑿薪怦盍鞒淘O(shè)計
CORTH軟件軸向?qū)硬⑿薪怦畹牧鞒淘O(shè)計的思路為:在每輪(t)迭代中,以迭代上一輪(t-1)的上游軸向?qū)樱╦-1層)作為已知參數(shù)來計算該輪(t)中第j層的參數(shù),由于采用了上一輪迭代的結(jié)果,消除了本輪迭代中軸向?qū)訁?shù)的耦合關(guān)系。
CORTH軟件軸向?qū)硬⑿薪怦畹牧鞒桃妶D2,計算中軸向?qū)影磸纳系较碌捻樞蛴嬎?,則每一輪迭代中使用的參數(shù)都為上一輪的值。
2.2 軸向?qū)硬⑿蟹桨冈O(shè)計
軸向?qū)硬⑿械姆桨笧椋?/p>
(1)初始化堆芯所有軸向?qū)颖褥蔴、質(zhì)量流速G和壓力P;
(2)并發(fā)計算所有的軸向?qū)?,得到新的堆芯軸向?qū)颖褥蔴、質(zhì)量流速G和壓降dp;
(3)將所有堆芯軸向?qū)拥膆、G和dp傳輸回主節(jié)點,根據(jù)dp更新堆芯壓力P;
(4)以新得到的h、G和P進行新一輪計算,直到收斂。
2.3 并行數(shù)據(jù)傳遞
在進行并行計算時,需考慮數(shù)據(jù)的傳遞和聚合,即當(dāng)并行計算開始時,將各節(jié)點所需的數(shù)據(jù)由主節(jié)點傳遞到相應(yīng)節(jié)點;當(dāng)并行計算完成后,將各節(jié)點的計算結(jié)果傳遞回主節(jié)點進行聚合。由于目前的堆芯參數(shù)對采用二維數(shù)組的形式定義和存儲(例:h[i][j]為第i個子通道在第j個軸向?qū)拥谋褥手担?,將二維數(shù)組傳遞到各節(jié)點不僅數(shù)據(jù)傳輸量大,且聚合時存在較大困難(多個相同定義的二維數(shù)組的聚合),因此需對實際傳遞入各節(jié)點的數(shù)據(jù)進行重新定義和設(shè)計。
根據(jù)模型的數(shù)值解法,j軸向?qū)佑嬎銜r只需j層和j-1層的相關(guān)數(shù)據(jù),因此定義相應(yīng)的一維數(shù)組存儲數(shù)據(jù),在并行計算開始時,首先將二維數(shù)組數(shù)值賦給一維數(shù)組,再傳入對應(yīng)節(jié)點;并行計算結(jié)束,將不同節(jié)點的一維計算結(jié)果傳輸回主節(jié)點聚合成最終的二維數(shù)組結(jié)果。
3 程序效率比較
與串行程序比較,并行計算不同子通道數(shù)目的時間見下表。
以測試?yán)}為例,不同并行核數(shù)下的計算時間為:
4 結(jié)論
本文開發(fā)了CORTH軟件的軸向并行模塊。通過與參考程序比較,計算結(jié)果的誤差小于1%。在進行全堆芯燃料棒級別的熱工水力分析時,計算效率相對串行程序大為提高。
軸向并行存在以下問題:(1)采用軸向分層的解耦流程進行串行計算時由于迭代次數(shù)增加,導(dǎo)致比原來串行流程時間增加。(2)由于軸向一般最多劃分100層,而每使用核數(shù)不會超過軸向節(jié)塊數(shù),無法實現(xiàn)更多核的并行。后續(xù)可進一步考慮區(qū)域分解等其他并行方案。
【參考文獻】
[1]蔡大用,白峰杉.《現(xiàn)代科學(xué)計算》科學(xué)出版社.
[2]陳文光,武永衛(wèi)譯.《MPI與OpenMP并行程序設(shè)計》清華大學(xué)出版社.
[3]吳文斌.《基于并行技術(shù)的2D/1D耦合三維全堆輸運方法研究》.
[4]D.S. Rowe, “COBRA IIIC: digital computer program for steady state and transient thermal-hydraulic analysis of rod bundle nuclear fuel elements,” Battelle Pacific Northwest Labs., Richland, Wash, USA, pp. 2-14(1973).
[5]J. Shan, B. Zhang, C. Li, et al, “SCWR subchannel code ATHAS development and CANDU-SCWR analysis,” Nuclear Engineering and Design. 239(10), pp. 1979-1987(2009).