输运临界计算保姆级通关!从原理到软件实操,纯小白也能从零跑通完整算例
最近在啃核工程相关内容,碰到了中子输运和反应堆临界计算这块。之前课上虽然听过蒙特卡罗方法、有效增殖因数这些概念,但大多停留在书本理论,从来没有从头到尾亲手跑一遍计算。就想着找一个实际案例实操练练,切身感受下输运临界计算完整流程到底是怎么一回事。从刚开始熟悉计算软件,一步步搭模型、调参数、提交运算,再到最后读出结果、分析数据,中间不少地方都要反复琢磨才能理顺😵。
刚好这次在用 TopMC 免费版练习,就想着用它来试着完成一下这个算例。主要是想找一款适合自己上手练习的核计算软件,TopMC 是国产软件,相关的中文手册看起来比较方便,内容也比较详细,遇到不懂的地方可以对着手册慢慢看,不用一边查资料一边反复猜参数的意思,对我这种小白就很方便,确实能省不少时间!!!!!所以就打算先用它做一次完整的练习,看看从模型设置到最后查看计算结果,整个流程到底是怎样的🤔。
这次练习我选了IAEA‑ADS基准算例来上手,主要看重它有现成的参考结果可以对照。这是一个加速器驱动次临界系统的标准基准题,很多不同的核计算程序都会拿它做比对验证,也是有相关文献可以参考的。对于刚接触蒙特卡罗中子输运计算的学生来说,我觉得用这种公开的基准算例会省心不少。这样不仅能看懂模型背后对应的物理背景,跑完计算之后,还能拿输出数据和公开参考结果做对比,慢慢搞懂各项计算参数、输出结果到底代表什么,对于我们这种刚开始接触的更能理解我们专业的实际用处了啦😀。
废话不多说,现在开始给大家分享我的实际操作🤭。
1.1 几何建模
很多次临界 ADS 基准算例都带有多层分区结构,几何边界直接决定中子输运结果的可靠性,所以建模阶段我会尽量保守、逐项校验,下面先记录我的从零建模操作。
几何建模功能提供了基本模型的创建、布尔运算操作以及各种几何变换操作; 打开TopMC左上角工具栏用于基本几何模型的建立,比如我先建立一个正方体
比如我先建立一个正方体作为我们的几何模型。
由于临界输运计算的物理要求决定,我们需要这种逐层拆分独立栅元、分域建模的结构,本次模型采用 Universe 架构,通过编辑->视图中,依靠布尔差集完成多层嵌套几何构建,最后的建模如下图所示
右击每个Cell,可以通过一层层隐藏实体和显示实体看到内部结构。
1.2 物理建模
几何建模只搞定了长什么样,比如是形状、大小、位置,也就是栅元、曲面这些外壳; 物理建模是给几何赋予计算规则,告诉程序每一块空间是什么材料、中子源在哪、要统计什么数据、边界条件怎么处理。 只有几何,软件只知道一堆空间几何体,完全不知道该怎么算中子输运,跑不了蒙卡计算。所以我们下一步要进行物理建模。
1.2.1 材料建模
在实体属性窗口。在这里我们能查看这个栅元的编号、绑定的材料等信息,也可以按需修改它对应的材料、显示颜色。 这里也给大家分享一个我的踩雷点,材料建模界面管理的是整套模型里所有的材料库,而实体属性窗口,是专门针对某一块栅元,确认它分配了哪一份材料,二者不要搞混。
1.2.2 源建模
1.2.2.1 几何分布
下面这个实体属性窗口的物理分栏,可以直接查看和编辑几何体绑定的材料、重要性、温度等物理信息。我们可以逐步拆解看到目前模型的隐藏实体,就像洋葱一样一层层剥离。
不过要是有其他同学需要更换材料,直接在对应编号的下拉菜单选中目标材料号,点击应用就能完成修改,这里的重要性参数不要随便乱改,改错容易让粒子直接消失,最后导致算出来的完全失真。
我们在 TopMC 中搭建模型时,可同步完成源信息配置,源的位置、能量、分布等参数配置妥当后,一般无需重复新建源。不过自动配置不等于万无一失,模型搭建完成后,一定要进入源建模界面核对:源的位置、粒子类型、能谱是不是和 IAEA-ADS 基准文档一致。一旦源参数设置出错,整个次临界输运计算都会偏离结果。只有当源配置丢失、源信息缺失的时候,才需要我们手动去设置源。
咱们这个 IAEA‑ADS 采用临界计算搭配固定源的模式,临界计算框架用来求解次临界系统的,但这套装置无法靠裂变自持产生中子,所以依靠固定散裂源持续提供初始中子,也就是我们说的源粒子抽样。如下图所示要双击主界面左侧树视图中的源打开源编辑对话框,点击添加临界源添加一个临界源。
选择临界源>KCODE,进行临界计算参数设置,之后再点击固定源按钮添加源粒子抽样信息。固定源按钮就是开启SDEF 固定源模式。 前面临界源(KCODE)是靠裂变自动一代代生成中子;但 ADS 次临界装置做不到自持链式裂变,中子必须由外部的散裂源产生。 点击【固定源】,就是告诉程序中子不是来自内部裂变迭代,而是按我们给定的位置、能谱、分布去抽样产生初始中子,也就是源粒子抽样。
但是我们发现设置好源概率之后发现,栅元源显示不是一个个体,说明这个栅元不是一个有效的三维实体(体栅元),软件没法在它内部均匀抽样源粒子,volume_flag=off 代表它没有可用体积信息,并不能作为栅元源,所以我们要在源1下面设置几何分布
下面的几何分布,用来定义源粒子发射的空间位置,也就是中子从哪个区域、哪个坐标抽样产生。 如果选用栅元分布,程序会在指定实体栅元内部随机抽取发射位置,这就要求所选栅元必须是具备有效体积的封闭实体,否则就会出现刚才的报错。 选择选择圆柱体源 Cylinder Source,并设置圆柱源中心点坐标(0,0, 0)随后进行半径的径向分布和高度的轴向分布,我设置的如下所示。
1.2.2.2 能量分布
我们可以把刚刚的几何分布理解为设置位置,告诉我们中子在哪出生,现在的能量分布是告诉我们中子出生时带多大能量,下一章的则是告诉我们中子往哪个方向飞。
先定位【源 1】→【能量】,打开源能量设置面板。IAEA-ADS 基准的散裂中子能谱为箱式概率连续矩形分布,点击【分布】进入分布配置如下图所示。
分布大类:选择随机分布
源信息:勾选
H(直方图分布),编辑框粘贴SI1行全部能量断点,数字之间用空格隔开源概率:勾选
D(离散概率),编辑框粘贴SP1行的对应概率值,空格分隔
1.2.2.3 方向分布
选择 Tally 24 节点,点击 Tally 24 前的眼睛图案,即可查看通量场的网格计数结果,如下图所示。
1.2.3 计算建模
我们已经画好了几何体、给每个区域分配了材料、设置好了中子源;程序会自动模拟一个个中子:从源发射出来,在装置里飞行、碰撞、裂变、被吸收,直到中子消失。 但是,你想在哪看数据、想看什么数据,必须自己告诉程序。 计数卡片就是干这件事的,在 IAEA‑ADS 基准算例中,依靠预设的计数卡,我们才能提取中子通量等结果,和官方参考值对比,完成我们的模型验证。下面是新建技术卡和设置我们的栅元通量计数。
选择 T14>能量,进入能量计数设置界面,将能群信息填入到能量区间编辑框中, 如下图所示,至此完成第一个计数卡的建模。剩下的还需要添加新的技术卡,点击添加建立新的计数卡,计数类型选择T4,粒子类型选择中子,并勾选网格70 计数使用网格,如下图所示,至此完成了第2 个计数卡的建模。
点击确定按钮,至此完成了计数建模。
1.3 计算
这一步启动的是IAEA‑ADS 次临界固定源中子输运蒙特卡罗计算。 前面我们已经完成几何建模、材料赋值、散裂外源配置、计数(Tally)与能群信息设置;点击【简易计算】,TopMC 会自动导出 MCNP 输入卡,调用 MCNP 求解器,模拟散裂中子在次临界装置里的输运、碰撞、裂变、吸收全过程,统计我们预先设置好的栅元通量、全场网格通量等计数结果。
计算结束后,在选定的输出路径下生成 MCNP 输出文件,用来提取通量数据,和 IAEA 基准参考结果对比校验。
1.4 结果可视化
选择whole 0节点,点击whole 0前的眼睛图案,即可显示计算结果随代数变化的曲线,发现随着代数的增加,
计算结果逐渐趋于收敛。 再单击眼睛图案,将隐藏
曲线的可视化。
选择 Tally 14 节点,在左下角的数据管理面板>编辑页界面的当前X轴变量的 下拉列表中选择能群分段并点击应用按钮,点击Tally 14节点前的眼睛图案,然后再在数据管理面板>显示页界面的线性关系的X轴下拉列表中选择对数化, 计数柵元的通量能谱如下图所示。再次单击眼睛图案,将隐藏通量能谱的可视化。选择 Tally 24 节点,点击 Tally 24 前的眼睛图案,通量场的网格计数结果如下图所示。
至此,我们借助 IAEA‑ADS 基准例题,完整走完了建模、计算、结果可视化的全流程。后续章节将对各个模块的功能与原理展开详细介绍,期待各位同学与我交流哦!