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输出控制模块的关键词。
- Mat、Keff等输入卡指定是否输出相关内容(见 表12.1 )。flag = 0表示不输出指定内容,输入卡(Keff, Source, CycTally, Inpfile) flag = 1表示输出指定内容, 输入卡(Mat, CellTally, SurfTally, PointTally, MeshTally, CsTally) flag = n表示输出n位小数。
- FissionSource用于控制输出收敛后的(最后一代)的裂变源信息,包括所有源的位置、方向和能量信息到文件
inp.Source.h5
中。
输入卡 | 输出内容 | 默认选项 |
---|---|---|
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
。