12. 输出控制

RMC输出控制模块用来自定义输出内容。尤其是在大规模燃耗计算中,可能产生大量的输出 信息,通过输出控制模块可以有效地减小输出文件的体积。

9.1 输出控制模块输入卡

12.1. 输出控制模块输入卡

输出控制模块的输入方式为:

PRINT
Mat <flag>
Keff <flag>
Source <flag>
CellTally <flag>
SURFACETALLY <flag>
POINTTALLY <flag>
MeshTally <flag>
CsTally <flag>
CYCTALLY <flag>
Inpfile <flag>
FissionSource <flag>
Material2HDF5 <flag>
BurnupCorrector <flag>

其中,

  • PRINT输出控制模块的关键词。
  • MatKeff等输入卡指定是否输出相关内容(见 表12.1 )。flag = 0表示不输出指定内容,输入卡(Keff, Source, CycTally, Inpfile) flag = 1表示输出指定内容, 输入卡(Mat, CellTally, SurfTally, PointTally, MeshTally, CsTally) flag = n表示输出n位小数。
  • FissionSource用于控制输出收敛后的(最后一代)的裂变源信息,包括所有源的位置、方向和能量信息到文件 inp.Source.h5 中。
表12.1 输出文件控制模块的输入卡
输入卡 输出内容 默认选项
Mat 所有材料的核素密度列表 flag = 5,输出5位小数
Keff 每代的Keff flag = 1,输出
Source 每代的裂变源信息 flag = 0,不输出
CellTally 栅元计数器的结果 flag = 4,输出4位小数
SurfTally 面计数器的结果 flag = 4,输出4位小数
PointTally 点计数器的结果 flag = 4,输出4位小数
MeshTally 网格计数器的结果 flag = 4,输出4位小数
CsTally 截面计数器的结果,包括燃耗 计算过程中的单群截面统计结果。 flag = 4,输出4位小数
CycTally 每代的计数 flag = 0,不输出
Inpfile 接续文件输入卡 flag = 0,不输出
Material2HDF5 输出材料信息到HDF5文件 flag = 0,不输出
FissionSource 收敛的裂变源信息 flag = 0,不输出
BurnupCorrector 燃耗计算校正步的计算结果 flag = 1,输出

注解

需要注意的是,Material2HDF5 仅在用户选择开启 Inpfile 时生效。在这种情况下,程序将向 material.h5 文件中输出材料信息(包括核密度、核素组成等),而不再输出到文本文件中。先比此前的文本文件的输出,输出到HDF5文件中 的材料更易被程序读取,因此在大规模核热耦合计算中可以有效减小输入卡的读取时间。但其内容可读性较差。值得一提的是,为了在将材料输出到 HDF5文件时保留材料的可读性,在RMC的Python模块添加了 Materials.from_hdf5 函数,用户可通过该函数读取相应的HDF5文件,并将其 转换为文本文件,使用方法如下:

from RMC.model.input.Material import Materials
materials = Materials.from_hdf5('material.h5')
with open('material.txt', 'w') as f:
    f.write(str(materials))

警告

Material2HDF5 选项仅在开展大规模核热耦合计算时建议开启,以减少程序读取材料文件的时间,加速初始化。

警告

BurnupCorrector 选项卡用于在燃耗计算开启预估校正方法时,控制输出校正步的计算结果,包括校正步的有效增殖因子、计数统计结果等。 需要注意的是,在核热耦合计算中,由于现有框架下的燃耗计算被拆分为单步燃耗计算,在开启预估校正方法时,校正步的计数结果会覆盖预估步的计数结果(主要是 功率计数文件MeshTally1.h5)。然而,耦合计算事实上需要的是预估步的计数结果,因此在核热耦合计算中,建议设置在``PRINT``选项卡中设置 BurnupCorrector 0

12.2. 输出控制模块输入示例

对于含大量燃耗区的燃耗计算,建议通过以下输入卡屏蔽材料和单群截面的输出信息,以免 产生庞大的数据文件。

PRINT
Mat 0
CsTally 0