论文部分内容阅读
人们对反应堆安全和经济性更高的要求以及新型核能系统的发展,使得传统反应堆计算分析方法和工具面临挑战,蒙特卡罗方法成为新一代反应堆物理计算方法的重要研究方向。然而,蒙卡程序在大规模计算中需要存储大量的数据,内存不足成为限制蒙卡方法实现三维全堆精细计算的瓶颈。为应对内存问题,本课题基于反应堆蒙特卡罗程序RMC,对包含数据分解、空间区域分解在内的数据并行方法开展研究。课题首先对蒙卡程序的各类数据进行定量分析,建立内存占用模型,明确蒙卡大规模计算内存问题的本质。分析表明,计数器、材料信息和燃耗核素密度数据是蒙卡内存占用的主要部分。针对计数器数据内存占用问题,研究了计数器数据分解方法,即分解计数器数据,分配、存储于并行的进程中,并通过并行通信,完成计数统计。基于并行消息传递接口,设计了同步式和异步式两种数据通信方法。在RMC中实现计数器数据分解算法,并分析算法的并行计算效率,数值测试结果表明,计数器数据分解能够直接地节省计数器数据的内存占用,同时异步式通信算法具有良好的并行效率。与数据分解方法不同,空间区域分解方法划分空间几何区域,由并行的进程分别模拟不同的区域,利用并行通信传递穿出区域的粒子。课题研究基于构建实体几何的区域划分方法,设计独立型和耦合型两种区域描述方式;设计异步式粒子通信算法,节省通信时间。基于RMC实现区域分解功能,并对简单模型、全堆模型进行测试。为实现区域分解的结果可重复性,提出随机数-源中子排序方法。最后,课题将数据并行方法应用于蒙卡燃耗计算,增强RMC大规模燃耗计算能力。一方面,结合计数器数据分解和点燃耗并行,实现计数器与燃耗核素密度综合数据分解策略,通过全堆模型三维燃耗计算数值测试,验证了数据分解方法对提升燃耗计算规模的作用。另一方面,研究区域分解与燃耗计算的耦合,通过输运计算与燃耗计算采用一致的区域划分,实现对计数器、材料、燃耗核素密度等数据的分解。数值测试表明,区域分解蒙卡程序具备百万栅元全堆精细燃耗计算能力。