2. 中国科学院核能安全技术研究所 中子输运理论与辐射安全重点实验室 合肥 230031
2. Key Laboratory of Neutronics and Radiation Safety, Institute of Nuclear Energy Safety Technology, Chinese Academy of Sciences, Hefei 230031, China
燃耗计算是反应堆堆芯设计及计算分析的关键环节[1]。随着先进反应堆技术的发展,反应堆的几何结构和中子能谱愈发复杂[2, 3, 4, 5],对燃耗计算结果的精度要求也越来越高,因此发展高精度的燃耗计算方法和程序的需求十分迫切。
燃耗计算通常是输运计算和点燃耗计算的相互耦合。蒙特卡罗燃耗计算继承了蒙特卡罗输运计算方法强大的复杂几何处理能力,可以精确计算各类系统中子通量分布及能谱,从而获得高精度的燃耗计算结果,因此成为目前的研究热点。根据耦合方法的不同,蒙特卡罗燃耗程序可以分为外耦合方式和内耦合方式[6],外耦合方式是通过独立接口程序耦合蒙特卡罗输运程序(如MCNP[7])和点燃耗程序(如ORIGEN[8]);而内耦合方式则是将点燃耗计算作为子功能加入输运程序中,这种方式较外耦合更为精准和高效。
常见的点燃耗计算方法大致有线性子链解析(Transmutation Trajectory Analysis,TTA)方法和矩阵指数法两类,其中矩阵指数法计算速度快,步长包容性高,是目前应用最为广泛的一类方法。这类方法中,由Pusa等[9]提出的切比雪夫有理逼近方法(Chebyshev rational approximation method,CRAM)由于不需要单独处理短寿命核素,计算精度更高。
此外,由于燃耗计算涉及核素较多,为了在保证输运计算效率的情况下尽量降低内存开销,国内外也提出了一些能量查找方法,如Serpent的双索引方法[10]、RMC的能量箱方法[11]等。
超级蒙特卡罗核计算仿真软件系统SuperMC(Super Monte Carlo Simulation Program for Nuclear and Radiation Process)[12, 13, 14, 15]是一款具有完全自主知识产权的通用、智能、精准的核系统设计优化与安全评价软件。SuperMC以蒙特卡罗与确定论方法耦合及先进信息技术应用为技术特色,以集成几何与物理自动建模[16, 17, 18];可视分析与虚拟仿真[19]、云计算服务为易用性特色。目前SuperMC已通过2000多个国际基准模型与实验的校验,其中聚变堆包括国际热核聚变实验堆(International Thermonuclear Experimental Reactor,ITER)[20, 21]、聚变动力堆FDS-II[22]、快堆(International Atomic Energy Agency-BN600,IAEA-BN600)、IAEA-ADS(International Atomic Energy Agency-Accelerator Driven Systems)等反应堆综合应用验证。本文基于SuperMC,采用CRAM点燃耗算法和桶排序能量查找方法,进行了内耦合蒙特卡罗燃耗计算研究与验证工作。
1 蒙特卡罗燃耗计算方法实现本文实现的内耦合蒙特卡罗燃耗计算流程如图 1所示,其中点燃耗计算模块采用CRAM对点燃耗方程组进行求解。在反应堆中,点燃耗方程组通常具有如下形式[23],对于核素i,其核素密度ni随时间变化率为:
$\begin{array}{l} \frac{{{\mathop{\rm d}\nolimits} {n_i}}}{{{\mathop{\rm d}\nolimits} t}}=-({\lambda _i}+\phi(t)\sum\nolimits_k {{\sigma _{i,k}}}){n_i}+\\ \;\;\;\;\;\;\;\;\;\;\;\sum\nolimits_{j \ne i}^N {({b_{j,i}}{\lambda _j}+\phi(t)\sum\nolimits_k {{\sigma _{j,k}}{y_{j,k,i}}}){n_j}} \end{array}$ | (1) |
![]() |
图 1 燃耗计算流程图 Fig.1 Flow chart of burnup calculation. |
式中: $\phi(t)$为中子通量密度; ${\lambda _i}$为核素i的衰变常数; ${\sigma _{i,k}}$为核素i发生k反应的微观截面; ${\sigma _{i,k}}$为核素j衰变后生成子核i的概率; ${y_{j,k,i}}$为核素j发生k反应后,生成子核i的概率。若定义矩阵元 ${A_{i,j}}$为:
$\begin{array}{l} {A_{i,j}}=- {\delta _{i,j}}({\lambda _i}+\phi(t)\sum\nolimits_k {{\sigma _{i,k}}})+\\ \;\;\;\;\;\;\;\;\;\;(1 - {\delta _{i,j}})({b_{j,i}}{\lambda _j}+\phi(t)\sum\nolimits_k {{\sigma _{j,k}}{y_{j,k,i}}}) \end{array}$ | (2) |
则可以得到点燃耗方程组的矩阵形式及其指数解:
$\frac{{{\mathop{\rm d}\nolimits} \overrightarrow n }}{{{\mathop{\rm d}\nolimits} t}}=A\overrightarrow n $ | (3) |
$(t)={{\mathop{\rm e}\nolimits} ^{At}}{_0}$ | (4) |
式中: $\vec n(t)$表示t时刻核素密度向量; ${\vec n_0}$表示向量的初始值。CRAM对式(4)做如下近似[9]:
$ \vec n(t)={{\mathop{\rm e}\nolimits} ^{At}}{\vec n_0} \approx {a_0}{\vec n_0}+2Re(\sum\nolimits_{i=1}^{k/2} {{a_i}{{(At - {\theta _i}I)}^{ - 1}}{{\vec n}_0}}) $ | (5) |
式中:I表示单位矩阵;a0、ai、θi均为预先求出的系数。从而将问题转化为求解k/2个稀疏线性方程的问题。
在输运计算过程开始前,需要对燃耗过程可能产生的核素预先进行添加。本方法首先读取初始材料中的核素,然后采用层序遍历的方式将其生成路径中的核素逐一加入材料中,最后进行数据库读取。
为了获得点燃耗计算所需参数,需要根据当前材料信息进行输运计算,以获取各燃耗区的中子通量密度、功率分布以及各核素单群截面。本文采用基于超精细能谱的单群截面统计方法[10, 24],首先在输运过程中统计各燃耗区的中子能谱,在输运计算结束后,对燃耗区内核素的各个反应进行单群截面计算。
在完成单群截面和功率分布计算后,根据当前燃耗步总热功率,对各燃耗区进行功率分配和源强转换。使用这些参数更新燃耗矩阵,并根据上一步核素密度和当前燃耗步长,对各燃耗区调用点燃耗计算模块,得到当前燃耗深度下的核素密度,并更新材料信息,进行下一步输运计算。
2 基于桶排序算法的能量查找方法在蒙特卡罗粒子输运过程中,每产生一条径迹,都需要查找中子当前能量在材料里所有核素的能量网格中的位置。常规做法是依次对材料中每个核素的能量网格进行二分查找。当涉及核素较多时,这种搜索方法效率很低。
现有主流解决方法是统一能量网格方法[10],该方法将所有核素的能量网格合并为一个统一能量网格,这样仅需要对该网格进行一次查找,就可以通过映射获得当前能量在所有核素能量网格中的位置,从而提高搜索速度。但是,燃耗计算一般涉及到上百种核素,而该方法需要储存各核素能量网格与统一能量网格的映射关系,因此使用这种方法将造成大量的内存开销。
考虑到在内存中访问数组的高效性,借鉴桶排序算法以及文献[11]中能量箱划分的思想可知,对于每个核素的能量网格,若使用固定间隔将其取值范围划分为一系列如图 2中Bucket Layer1所示的顺序排布的数值区间,即“桶”,并将能量网格中的能量点按数值大小划分到相应的桶中,这样在进行能量查找时仅对相应的桶进行搜索,将大大缩小搜索范围。同时考虑到核素能量网格中能量点分布的不均匀性,可能导致某些桶中仍然存在较多能量点,因此需要使用更小的间隔,对能量点数量大于阈值的桶进行再次划分,形成如图 2所示的嵌套结构,从而可以适应不同的能量网格分布,保证各个桶中的能量点数均小于阈值。
![]() |
图 2 桶排序能量查找方法示意图 Fig.2 Schematic diagram of bucket sort energy searching method. |
在对某一核素进行能量查找时,首先通过能量E找到该核素中包含该能量的桶,如图 2中的 $(E_{k-1}^{'},E_{k}^{'})$。若该桶中存在次级划分,则再次通过E在该划分中进行搜索,这样直到找到直接包含能量点的桶,如 $(E_{l-1}^{''},E_{l}^{''})$。最后对该桶中的能量点进行二分搜索,就可以找到E在核素能量框架中的位置,从而起到加速作用。由于该方法只需要储存各个桶的边界和容量,较统一能量网格方法可以节省大量内存。
3 测试验证为了验证本文实现的燃耗计算方法的正确性,选用燃料棒燃耗问题以及IAEA-ADS国际基准题[25]进行了测试,并使用IAEA-ADS基准题测试了桶排序能量查找方法的性能。
3.1 燃料棒燃耗问题本文以压水堆燃料棒为例,计算了富集度为3%的UO2燃料棒经过焚烧达到30MW·d·(kgU)-1燃耗深度,再经过3年衰变后核素密度变化情况。燃料棒的燃耗问题涵盖了燃耗计算中常用的中子反应和衰变反应,核素生成关系复杂,可以初步验证本文实现的燃耗计算方法的正确性。本文以采用微扰TTA方法的Serpent作为对比程序,计算采用ENDF/B-VII数据库提供的截面、裂变产物和衰变数据。其中部分重要核素计算结果列于表 1。从表 1可以看出,本文的计算结果和Serpent的结果基本一致,绝大部分核素偏差均在1%以内,可见在计算含有复杂反应链的问题时,本文实现的燃耗计算方法能够得到准确的结果。另外,在计算244Cm时偏差相对较大(1.6%),这是由于微扰TTA方法在处理环形燃耗链时会引入微扰以避免奇点问题,从而导致较大偏差。
![]() |
表 1 燃料棒燃耗问题计算结果 Table 1 Results of fuel rod burnup problems. |
IAEA-ADS基准题模型是一个具有外源的圆柱体结构次临界堆,包括5个材料区,以233U为裂变材料,以232Th为增殖材料,以Pb为反射层[1]。本文首先确定在初始keff为0.94的情况下,燃料区中233U的富集度,然后计算热功率为1500MW时,keff随燃耗时间的变化情况,计算结果如图 3所示。计算采用ENDF/B-VII数据库提供的截面、裂变产物和衰变数据。
![]() |
图 3 keff随燃耗步变化 Fig.3 keff variation along with burnup step. |
由图 3可见,本文的计算结果处于文献[25]给出的各国计算结果范围内,得到了正确的驼峰曲线,与各国结果的趋势也有比较好的一致性。造成各国计算结果差别的原因之一是使用了不同的数据库,同时,对锕系核素以及裂变产物的处理方式也会对结果产生影响。早期燃耗程序大多对燃耗链进行了简化,只考虑少数几种重要锕系核素,对裂变产物也只考虑Xe、Sm等少数对反应性影响较大的核素,其他产物则采取设置伪裂变产物的方式进行处理,因此在精度上有明显的局限性。而对于ADS及嬗变计算,则需要考虑数十种锕系核素以及上百种裂变产物[26]。本方法采用精细燃耗链模型,通过遍历初始核素燃耗链,能够基本涵盖并处理ADS系统在燃耗过程中产生的锕系核素以及裂变产物,因此能够达到较高的精度。
同时,为验证桶排序能量查找方法的性能,分别采用三种能量查找方法,使用128种核素进行2×104个粒子的固定源计算。三种方法的时间和内存消耗如表 2所示。从表 2可以看出,统一能量网格方法比常规方法多消耗725.56MB的内存,而本方法仅多消耗30.76MB,较统一能量网格节省了95.7%的内存消耗,而时间性能并未受到影响。由此可以看出,桶排序能量查找方法是对内存要求较高的情况下的一种可行的解决方案。
![]() |
表 2 三种能量查找方法性能比较 Table 2 Performance comparison of 3 kinds of energy searching methods. |
本文基于超级蒙特卡罗核计算仿真软件系统SuperMC,采用切比雪夫有理逼近方法和桶排序能量查找方法,进行了内耦合蒙特卡罗燃耗计算的初步研究。通过对燃料棒燃耗例题以及IAEA-ADS基准题的计算,初步证明了本文实现的蒙特卡罗燃耗计算方法的正确性。并且IAEA-ADS基准题的测试结果表明,与统一能量网格方法相比,本方法在保证了计算效率的同时减少了内存开销。本燃耗方法的更多验证和大规模燃耗计算研究将在后续工作中展开。
致谢 本文开展研究工作中,得到了FDS团队其他成员的大力帮助和支持,在此深表感谢!1 | 李静惊, 陈明亮, 郑善良, 等. 基于离散纵坐标输运计算方法的三维燃耗程序发展研究[J]. 核科学与工程, 2007, 27(4):379-384 LI Jingjing, CHEN Mingliang, ZHENG Shanliang, et al. Development of three-dimensional burnup code system based on discrete ordinates(SN) transport method[J]. Nuclear Science and Engineering, 2007, 27(4):379-384(![]() |
2 | Wu Y, Zheng S, Zhu X, et al. Conceptual design of the fusion-driven subcritical system FDS-I[J]. Fusion Engineering and Design, 2006, B81:1305-1311. DOI:10.1016/j.fusengdes.2005.10.015(![]() |
3 | Wu Y, FDS Team. Conceptual design of the China fusion power plant FDS-Ⅱ[J]. Fusion Engineering and Design, 2008, 83(1):1683-1689. DOI:10.1016/j.fusengdes.2008. 06.048(![]() |
4 | Wu Y, Jiang J, Wang M, et al. A fusion-driven subcritical system concept based on viable technologies[J]. Nuclear Fusion, 2011, 51(10):103036. DOI:10.1088/0029-5515/51/10/103036(![]() |
5 | Qiu L, Wu Y, Xiao B, et al. A low aspect ratio Tokamak transmutation system[J]. Nuclear Fusion, 2000, 40(3Y):629-633. DOI:10.1088/0029-5515/40/3Y/325(![]() |
6 | 佘顶, 王侃, 余纲林. 堆用蒙卡程序燃耗计算功能开 发[J]. 核动力工程, 2012, 33(3):1-5 SHE Ding, WANG Kan, YU Ganglin. Development of burnup calculation function in reactor Monte Carlo code RMC[J]. Nuclear Power Engineering, 2012, 33(3):1-5(![]() |
7 | Briesmeister J F. MCNP-a general Monte Carlo N-particle transport code[R]. Version 5. USA:Los Alamos National Laboratory, 2003(![]() |
8 | Croff A G. A user's manual for ORIGEN2 computer code[R]. Oak Ridge National Laboratory, 1980. DOI:10.2172/5285077(![]() |
9 | Pusa M, Leppänen J. Computing the matrix exponential in burnup calculations[J]. Nuclear Science and Engineering, 2010, 164(2):140-150(![]() |
10 | Leppänen J. Two practical methods for unionized energy grid construction in continuous-energy Monte Carlo neutron transport calculation[J]. Annals of Nuclear Energy, 2009, 36(7):878-885. DOI:10.1016/j.anucene. 2009.03.019(![]() |
11 | She D, Liu Y, Wang K, et al. Development of burnup methods and capabilities in Monte Carlo code RMC[J]. Annals of Nuclear Energy, 2013, 51(1):289-294. DOI:10.1016/j.anucene.2012.07.033(![]() |
12 | Wu Y, Song J, Zheng H, et al. CAD-based Monte Carlo program for integrated simulation of nuclear system SuperMC[J]. Annals of Nuclear Energy, 2015, 82(1):161-168. DOI:10.1016/j.anucene.2014.08.058(![]() |
13 | Song J, Sun G Y, Chen Z P, et al. Benchmarking of CAD-based SuperMC with ITER benchmark model[J]. Fusion Engineering and Design, 2014, 89(1):2499-2503. DOI:10.1016/j.fusengdes.2014.05.003(![]() |
14 | Chen Z P, Zheng H Q, Sun G Y, et al. Preliminary study on CAD-based method of characteristics for neutron transport calculation[J]. Chinese Physics C, 2014, 38(5):058201. DOI:10.1088/1674-1137/38/5/058201(![]() |
15 | 孙光耀, 宋婧, 郑华庆, 等. 超级蒙特卡罗计算软件SuperMC2.0中子输运计算校验[J]. 原子能科学与技术, 2013, 47(增):520-525. DOI:10.7538/yzk.2013.47.S1. 0520 SUN Guangyao, SONG Jing, ZHENG Huaqing, et al. Benchmark of neutron transport simulation capability of super Monte Carlo calculation program SuperMC 2.0[J]. Atomic Energy Science and Technology, 2013, 47(Suppl):520-525. DOI:10.7538/yzk.2013.47.S1. 0520(![]() |
16 | Wu Y, FDS Team. CAD-based interface programs for fusion neutron transport simulation[J]. Fusion Engineering and Design, 2009, 84(7-11):1987-1992. DOI:10.1016/j.fusengdes.2008.12.041(![]() |
17 | Wu Y, Xie Z, Fischer U. A discrete ordinates nodal method for one-dimensional neutron transport calculation in curvilinear geometries[J]. Nuclear Science and Engineering, 1999, 133(3):350-357. DOI:10.1016/j.anucene.2013.10.018(![]() |
18 | Hu H, Wu Y, Chen M, et al. Benchmarking of SNAM with the ITER 3D model[J]. Fusion Engineering and Design, 2007, 82(1):2867-2871. DOI:10.1016/j.fusengdes.2007.06.015(![]() |
19 | 吴宜灿, 何桃, 胡丽琴, 等. 核与辐射安全仿真系统SuperMC/RVIS 2.3研发与应用[J]. 原子能科学技术, 2015, 49(增):7-15. DOI:10.7538/yzk.2015.49.S0. 0007 WU Yican, HE Tao, HU Liqin, et al. Development of virtual reality-based simulation system for nuclear and radiation safety[J]. Atomic Energy Science and Technology, 2015, 49(Suppl):7-15. DOI:10.7538/yzk.2015.49.S0.0007(![]() |
20 | Wu Y, FDS Team. Conceptual design and testing strategy of a dual functional lithium-lead test blanket module in ITER and EAST[J]. Nuclear Fusion, 2007, 47(11):1533-1539. DOI:10.1088/0029-5515/47/11/015(![]() |
21 | Wu Y, FDS Team. Design analysis of the China dual-functional lithium lead(DFLL) test blanket module in ITER[J]. Fusion Engineering and Design, 2007, 82(1):1893-1903. DOI:10.1016/j.fusengdes.2007.08.012(![]() |
22 | Wu Y, FDS Team. Conceptual design activities of FDS series fusion power plants in China[J]. Fusion Engineering and Design, 2006, 81(1):2713-2718. DOI:10.1016/j.fusengdes.2006.07.068(![]() |
23 | Isotalo A. Computational methods for burnup calculations with Monte Carlo neutronics[D]. Finland:Aalto University, 2013(![]() |
24 | Fridman E, Shwageraus E, Galperin A. Efficient generation of one-group cross sections for coupled Monte Carlo depletion calculations[J]. Nuclear Science and Engineering, 2008, 159(1):37-47(![]() |
25 | Slessarev I, Tchistiakov A. IAEA ADS-benchmark results and analysis[C]. Madrid:TCM-Meeting, September 17-19, 1997(![]() |
26 | 蒋校丰, 谢仲生. 蒙卡-燃耗程序系统及ADS基准题的计算[J]. 核科学与工程, 2003, 23(4):325-331 JIANG Xiaofeng, XIE Zhongsheng. Monte Carlo-burnup code system and it's application to IAEA ADS benchmark[J]. Nuclear Science and Engineering, 2003, 23(4):325-331(![]() |