您好, 访客   登录/注册

电子行业有机废气处理装置改造工程实例

来源:用户上传      作者:

  【摘 要】CORTH軟件是具有滑速比的四方程均匀流模型的热工水力子通道软件,应用于反应堆堆芯热工水力分析。在全堆芯pin-by-pin的耦合计算中,使用CORTH软件进行全堆芯燃料棒级别(Pin-Level)的热工水力子通道分析,但计算效率无法满足需求。本文通过开发轴向并行模块,提高了CORTH在全堆芯子通道分析的效率。
  【关键词】子通道;CORTH;全堆芯;并行
  中图分类号: TL33 文献标识码: 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采用具有滑速比的四方程均匀流模型,可以描述一系列相连或不相连的子通道在稳态工况下单相流和两相流,主要用于对反应堆堆芯或带发热棒束实验的热工水力分析。通过子通道热工水力分析,可得到堆芯的温场、流场、压力场分布,并可对堆芯燃料棒进行DNBR(偏离泡核沸腾比)分析。
  在全堆芯pin-by-pin的耦合计算中,使用CORTH软件进行全堆芯燃料棒级别(Pin-Level)的热工水力子通道分析,为物理模块提供燃料棒级别的热工水力参数,但计算效率无法满足需求。本文通过开发轴向并行模块,提高了CORTH在全堆芯子通道分析的效率。
  1 子通道软件计算流程
  CORTH软件的计算流程见图1,其过程为:
  (1)读入由用户输入的界面数据,生成相应的子通道例题;
  (2)根据例题生成相应的物性、滑速比、空泡份额等查询表;
  (3)求解质量、能量和动量守恒方程组,得到堆芯的压力场、温场、流场分布;
  (4)根据堆芯参数分布计算堆芯的DNBR分布。
  软件的核心模块为守恒方程求解模块。
  2 轴向并行模块开发
  子程序在使用中一般沿冷却剂流向将堆芯轴向划分为10-100个轴向层。程序从堆芯入口依次计算每一个轴向层的热工水力参数,并以上游的参数作为每个轴向层的入口条件。CORTH软件串行版本中轴向层计算为根据冷却剂流动方向由下向上顺序计算,由于守恒方程组数值解法中采用一阶迎风差分,计算每一个轴向层(j层)参数时需要以其上游轴向层(j-1层)的参数作为已知量。轴向层并行首先需进行轴向层的解耦,即消除每轮迭代中计算j层参数对j-1层参数的依赖关系。
  轴向并行模块开发的主要过程为:(1)轴向层并行解耦流程设计;(2)轴向层并行方案设计;(3)并行数据传递;(4)轴向层并行代码实现,包括共享内存(OPENMP)并行开发和MPI并行开发。
  2.1 轴向层并行解耦流程设计
  CORTH软件轴向层并行解耦的流程设计的思路为:在每轮(t)迭代中,以迭代上一轮(t-1)的上游轴向层(j-1层)作为已知参数来计算该轮(t)中第j层的参数,由于采用了上一轮迭代的结果,消除了本轮迭代中轴向层参数的耦合关系。
  CORTH软件轴向层并行解耦的流程见图2,计算中轴向层按从上到下的顺序计算,则每一轮迭代中使用的参数都为上一轮的值。
  2.2 轴向层并行方案设计
  轴向层并行的方案为:
  (1)初始化堆芯所有轴向层比焓h、质量流速G和压力P;
  (2)并发计算所有的轴向层,得到新的堆芯轴向层比焓h、质量流速G和压降dp;
  (3)将所有堆芯轴向层的h、G和dp传输回主节点,根据dp更新堆芯压力P;
  (4)以新得到的h、G和P进行新一轮计算,直到收敛。
  2.3 并行数据传递
  在进行并行计算时,需考虑数据的传递和聚合,即当并行计算开始时,将各节点所需的数据由主节点传递到相应节点;当并行计算完成后,将各节点的计算结果传递回主节点进行聚合。由于目前的堆芯参数对采用二维数组的形式定义和存储(例:h[i][j]为第i个子通道在第j个轴向层的比焓值),将二维数组传递到各节点不仅数据传输量大,且聚合时存在较大困难(多个相同定义的二维数组的聚合),因此需对实际传递入各节点的数据进行重新定义和设计。
  根据模型的数值解法,j轴向层计算时只需j层和j-1层的相关数据,因此定义相应的一维数组存储数据,在并行计算开始时,首先将二维数组数值赋给一维数组,再传入对应节点;并行计算结束,将不同节点的一维计算结果传输回主节点聚合成最终的二维数组结果。
  3 程序效率比较
  与串行程序比较,并行计算不同子通道数目的时间见下表。
  以测试例题为例,不同并行核数下的计算时间为:
  4 结论
  本文开发了CORTH软件的轴向并行模块。通过与参考程序比较,计算结果的误差小于1%。在进行全堆芯燃料棒级别的热工水力分析时,计算效率相对串行程序大为提高。
  轴向并行存在以下问题:(1)采用轴向分层的解耦流程进行串行计算时由于迭代次数增加,导致比原来串行流程时间增加。(2)由于轴向一般最多划分100层,而每使用核数不会超过轴向节块数,无法实现更多核的并行。后续可进一步考虑区域分解等其他并行方案。
  【参考文献】
  [1]蔡大用,白峰杉.《现代科学计算》科学出版社.
  [2]陈文光,武永卫译.《MPI与OpenMP并行程序设计》清华大学出版社.
  [3]吴文斌.《基于并行技术的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).
转载注明来源:https://www.xzbu.com/8/view-14839810.htm