论文部分内容阅读
数值反应堆是建立在超级计算机上,可实现实际反应堆内各种物理过程高精细模拟的复杂软件系统,对新堆设计、反应堆功率提升和反应堆延寿等领域的研究具有重要意义。中国数值反应堆(China Virtual Reactor,CVR 1.0)是国家重点研发计划“数值反应堆原型系统开发及示范应用”项目研发的软件系统,旨在借助我国的超算优势,对反应堆内的热工流体、中子物理、材料辐照效应等物理过程进行高精细的模拟。本文论述CVR 1.0中热工流体模拟软件研发的关键技术。从堆芯对象建模与信息自动加载技术、自适应的并行任务划分技术和面向异构架构的并行优化技术三个方面开展研究,以子通道和计算流体力学(Computational Fluid Dynamics,CFD)这两种广泛使用的热工流体模拟方法为研究对象,在“天河二号”和“神威·太湖之光”超算上实现了高精细的热工流体模拟。主要的工作和成果如下:(1)针对高精细子通道模拟计算的子通道/棒数量多、关联关系复杂,常用的手动输入信息的方式工作量大且易出错的问题,研发了一套用于子通道模拟的堆芯对象建模和信息自动加载技术,可实现四边形组件反应堆和六边形组件反应堆的统一建模,基于堆芯对象模型,实现了输入信息的自动化加载,用户需要输入的信息从超20万行减少至约400行。基于子通道方法的数学物理模型剖析了堆芯建模和信息加载的要求与挑战。分析了子通道模拟中涉及的事物并识别其主要特征,基于组件、棒和子通道等模拟对象,建立能精确刻画堆芯的模型。提出了基于“堆芯行列坐标系”的信息自动加载方法,可实现位置和几何等信息的自动加载,可实现对象之间关联关系的自动构建。采用该技术用户需要输入的信息大幅减少,提高了子通道软件的便捷性。(2)针对现有的子通道软件任务划分方式不灵活、可扩展性不佳的问题,提出了一套自适应的并行任务划分技术,可根据计算机(集群)的核数确定恰当的任务划分方式,使子通道模拟软件能部署于单机、小型服务器和超算等计算环境。针对四边形组件反应堆和六边形组件反应堆的结构特点,提出了基于区域分解的“组件均分法”,根据计算机(集群)的核数对全堆芯或单个组件进行计算任务划分,计算任务和进程的映射可灵活进行。通过对采用不同组件数量、不同棒数量和轴向分层数量的多个算例进行定量分析,得到了不同几何设置算例对应的最佳使用核数。(3)针对国产超算独特的异构架构特点,研发了面向异构众核架构的并行优化技术,使基于高精度谱元法的CFD软件能适应国产超算架构。从谱元法的求解原理出发,剖析了基于谱元法的CFD模拟软件的计算核心,分析了该计算核心的特点及优化难点;分析了几种典型的超算异构众核架构的特点,面向不同架构的特点提出了针对谱元法CFD模拟软件的移植与优化方法;重点阐述了面向国产“申威”异构众核架构的移植与优化工作,具体包括主核向量化、从核移植和静态内存管理工作。(4)采用研发的技术实现了基于子通道和CFD方法的高精细热工流体模拟,验证了技术的有效性和良好的并行性能。在“天河二号”超算上测试,全堆芯157组件、精确到每个真实流道的、轴向划分为125层的子通道稳态模拟,可使用4~6,280核实现,使用6,280核时仅需约8分钟。在“神威·太湖之光”超算上实现了基于谱元法的CFD模拟,计算621,610个谱单元,约85亿格点,可扩展到20,480核组(1,331,200核),相对于典型的谱元法CFD模拟软件Nek5000性能提升约40%。