7. 计数器

RMC包含三类计数器,分别是栅元计数器(cell tally)、网格计数器(mesh tally)和截 面计数器(cross-section tally)。

栅元计数器用来统计栅元内的宏观物理量,包括积分通量、功率、裂变反应率和吸收反应率 等。RMC采用Cell-Mapping方法,能够高效地处理大规模栅元计数器。网格计数器与栅元计 数器类似,但它统计的宏观物理量不是基于栅元,而是基于预先划定的网格。截面计数器统 计栅元内指定核素、指定反应类型的反应截面(微观反应率)。以上三种计数器都支持分能 群统计,即,按照指定的能量区间分别计数。

需要注意的是,若用户在几何模块使用了随机介质隐式模拟方法,为了检验计算合理性,需要 利用计数器对隐式方法填充率进行检验以确保实际填充率正确。

7.1. 栅元计数器

栅元计数器的输入卡为:

CellTally <id> [Type = <type>] [Energy = <erg_bin>] [Filter = <params>]
          [Integral = <params>] [Cell = <cell_vector_group>] [Time = <time_bin>]
          [Volume=<vol>] [Multiplier=<mul>] [Attenuator=<att>] [Dose=<dose>]
              [Gaussian=<gaussian>] [Value=<val_bin>] [Segment=<seg_bin>]
          [Flag=<flag_bin>] [Nest=<nest>] [ReactionRate=<params>]
          [Source=<source_bin>]

其中,

  • CellTally为栅元计数器输入卡的关键词。

  • id为栅元计数器的编号,便于查阅输出。

  • Type卡指定计数类型。Type = 1表示栅元通量, Type =2表示栅元功率,Type = 3表示栅元裂变反应率, Type = 4表示栅元吸收反应率。Type = 5表示裂变中子产生率, Type = 6表示中子或光子释热率, 注意,这里所指的通量、功率、反应率等都是对栅元体积的积分量。

  • Energy选项卡指定分群计数的能量区间,参数为能量间隔点(Mev)。例如, “Energy = 0 6.25E-7 20”表示计数区间为0到0.625ev,0.625ev到20Mev,20Mev 到正无穷, 共3个区间;同时,程序还将给出总计数。特别地,对于多群临界计 算,“Energy = -1”表示使用截面数据库的能群结构划分。若输入中 没有Energy选项卡,则表示只统计总的计数率。

  • Time选项卡指定分时计数的时间区间,参数为时间间隔点(s)。例如, “Time = 0 5.0e-8 1.0e-7”表示计数区间为0到5.0e-8s,5.0e-8s到1.0e-7s 共2个区间; 同时,程序还将给出总计数。只在固定源中使用。具体参见第11章示例。

  • Cell、Filter、Integral选项卡用于描述计数栅元,下面将具体介绍。

  • particle为栅元计数器统计的粒子类型,1代表中子、2代表光子、3代表电子。

  • volume为栅元体积列表,为正数,和归并后的Cell数对应,Type=6时为质量得到的释热率 量纲为MeV/g。

  • Multiplier为截面乘子,为整数,用于自定义乘数或反应截面,在使用Multiplier时计数 类型Type必须设置为1,且不能使用Dose功能。

  • Attenuator为衰减乘子,用于计算衰减因子,其用法在后面介绍。

  • Gaussian定义高斯能量展宽,是由实数构成的展宽数组,其用法在后面介绍。

  • Value用于定义计数值分箱,即对计数器的单次计数器进行分箱处理。

  • Segment用于定义切割分箱,其用法在后面介绍。

  • Flag用于定义标记分箱,即对穿过某个特定面或栅元的粒子单独进行统计,其用法在后面介绍。

  • Nest用于定义分箱之间的嵌套,如输出能量分箱和余弦分箱之间的嵌套,其用法在后面介绍。

  • Reactionrate用于产生一个文件单独输出能群通量及反应率。

  • Source用于定义源分箱,即对抽样自某个源的粒子单独进行统计,仅用于固定源计算中,其 用法在后面介绍。

7.1.1. Cell选项卡

在层级几何系统中,任意一个栅元区域都是通过一系列的栅元编号及其层级关系来唯一地确 定。我们以栅元向量(Cell vector)的形式来描述这种具有层级关系的栅元

Cell_vector = C[1] > C[2] > … > C[n]

其中,“>”表示上层对下层的包含关系,n为该栅元所处的层级,C[i]表示栅元编号或重复结 构编号(当第i层为重复结构时)。在蒙卡跟踪过程,总是需要将粒子定位到底层栅元 (即C[n]不被其它任何空间填充),然后获取相应的材料和温度等信息进行输运模拟。

与粒子定位的栅元描述类似(参考第3.5节),计数栅元采用也如下所示的向量描述:

C[1] > C[2] > … > C[n]

首先考虑C[n]为底层栅元的情形,即C[n]不再被下层结构填充。计数器的基本实现过程是: 在蒙卡模拟过程中,检查粒子定位栅元是否与计数栅元匹配(二者都是底层栅元);若是, 则累加计数信息。值得指出的是,同一个Cell选项卡中给出的栅元列表不允许存在 重复的栅元向量。

为提高计数栅元描述的灵活性,程序引入“ : ”和“ * ”两种辅助表达符。

以某压水堆堆芯为例,假设全堆(栅元编号1)包括21×21=441个重复网格,每个网格为燃料 组件或反射层;其中,燃料组件进一步划分为17×17=289个重复网格,每个网格内填充燃料 棒(栅元编号35)和慢化剂(栅元编号36)。

为统计该堆芯中心组件(重复网格编号221)的中心栅元(重复网格编号145)燃料棒内的通 量,计数栅元的输入为:

1 > 221 > 145 > 35

以此类推,若用户需要统计其它组件中心燃料棒内的通量,需要输入:

1 > 1 > 145 > 35
1 > 2 > 145 > 35
1 > 3 > 145 > 35
…
1 > 441 > 145 > 35

通过使用展开符“:”,上述输入方式可简写为:

1 > 1:441 > 145 > 35

RMC程序还支持形如“1 > 1:441 > 1:289 > 35”的多层展开输入方式,按照从右至左的方向 逐层展开:

1 > 1 > 1 > 35
…
1 > 1 > 289 > 35
1 > 2 > 1 > 35
…
1 > 2 > 289 > 35
…
1 > 441 > 1 > 35
…
1 > 441 > 289 > 35

全局展开符“*”是展开符“:”的一个特例,它会自动搜索所有底层栅元为特定编号的区域, 分别予以计数。在上述算例中,用户输入:

*36

即可分别统计各个组件内的各慢化剂区(栅元编号36)的通量。

7.1.2. Filter选项卡

6.1.1中的计数栅元描述“C[1] > C[2] > … > C[n]”只考虑了C[n]是底层栅元(即C[n]不再 被下层结构填充)。但用户有时可能需要统计非底层栅元或复合栅元的通量分布,这时就 需要用到Filter选项卡。

Filter选项卡的参数是由0和1组成的序列,序列长度等于计数栅元的层级。默认情况 下,序列内的 元素为1;若计数栅元中出现“0”通配符(见后面的示例),则Filter向量中相应位置用0代替。

Filter选项卡的功能之一是统计非底层栅元的通量。以6.1.1中的情形为例,通量统 计的对象为组件,即,第一层重复结构当中的网格。栅元计数器的输入卡为:

CellTally 1 Type = 1 Filter = 1 1
Cell = 1 > 1:441

其中,1 > 1:441等同于输入“1 > 1 1 > 2 …… 1 > 441”,“Filter = 1 1”标识该计数器内的所有计数栅元都只有两层。该计数器将给出441个计数,分别对应441个 组件层面的网格(包含反射层网格)的通量。

Filter选项卡的另一功能是用于统计复合栅元的计数,如下所示:

CellTally 1 Type = 1 Filter = 1 1 0 1
Cell = 1 > 1:441 > 0 > 35

注意到“1 > 1:441> 0 > 35”当中的0是一个通配符,表示在计数匹配过程中忽略该层级的栅 元编号或网格编号。Filter选项卡中相应层的位置用0标识。该计数器将给出441个 通量计数,其中第i个计数对应第i个组件内的所有燃料棒通量之和。

RMC采用Cell mapping方法快速处理大规模栅元计数。用户应尽量将相同类型(具有相同 Filter)的计数栅元置于同一个CellTally中,减少CellTally总数(增加单个CellTally的 计数规模),提高计数效率。

7.1.3. Integral选项卡

Integral选项卡的作用是将计数器内的计数栅元进行逐段合并,作为一个整体进行 计数。例如:

CellTally 1 Type = 1 Filter = 1 1 0 1
Integral = 100*3 141 (namely Integral = 100 100 100 141)
Cell = 1 > 1:441 > 0 > 35

该计数器将给出4个计数,分别是1 > 1:100 > 0 > 35计数之和,1 > 101:200 > 0 > 35计数之和,1 > 201:300 > 0 > 35计数之和,1 > 301:441 > 0 > 35计数之和。通过使 用Integral选项卡,理论上可以将任意多个栅元当作一个整体进行计数(即使它们在物理 上并不相邻)。

7.1.4. Multiplier选项卡

Multiplier选项卡的通用输入格式为:

Multiplier=C m R
其中R为一系列反应截面(或其他物理量)标号x1, x2, x3...的逻辑组合,可以表示为
多个物理量之和: x1 : x2 : x3...
多个物理量之积: x1 x2 x3...

乘子可以用于统计形如 \(\mathrm{C} \int \varphi(E) \mathrm{R}(E) dE\) 的物理量, 其中φ(E)为通量,R(E)为截面、裂变产额等利用加或乘运算得到的物理量,通过栅元计数器的统计, 得到的统计值即代表了上面式子中对能量积分的结果。 m为截面的材料号。乘子的层级高于分箱的层级。当指定Multiplier选项卡, 原未经乘子处理的tally值不再保留输出,用户如需该值,可另行添加Tally。

当m存在且为正整数时,RMC对统计的tally值乘以材料卡中mat=m对应材料中由R(x1,x2,…,xi) 确定的微观截面运算值,再乘以C归一,得到 \(\mathrm{C} \int \varphi(E) \mathrm{R}(E) dE\) 的值。 R部分的语法规则如下:xi为微观截面代号, 当用户使用的库为ENDF/B库时, 常用的反应截面序号见表3.5。逻辑符号‘ : ’连接x1,x2表示加运算,空格连接x1,x2为乘运算,乘运算优先级高于加运算。 所以对照表6-1-1,不同的Type类型均可用C m R来实现,其中m为栅元对应的材料编号, C为对应材料的原子密度(1024原子/cm3)。

例如,Type=2计算中子裂变功率可以表示为

Multiplier = C m -6 -8  (R部分为-6 -8,-6为总裂变截面,-8为裂变能)

Type=3计算中子裂变反应率可以表示为;

Multiplier = C m -6

Type=4计算中子吸收反应率可以表示为

Multiplier = C m -2

Type=5裂变中子产生率可以表示为

Multiplier = C m -7 -6

Type=6计算中子释热率时可以表示为

Multiplier = C m 1 -4

计算光子释热率时可以写成

Multiplier = C m -5 -6

这解释了为什么Type取非1值时与Multiplier卡冲突。用户也可根据需求利用截面的组合 求得有实际含义的物理量。

当m为-1、-2或-3时为特殊乘子,此时R部分必须为空。C=-1时将每次统计的值置为1, 对于栅元计数器统计穿过栅元的径迹数,对于面计数器统计穿过面的径迹数,即Type=0时的总面流J (注意不是净面流,无量纲单位),对于点计数器统计源和碰撞数,以上所有值在固定源计算模式下 以外源粒子数进行归一,在临界计算模式下以每代中子数归一,再对活跃代求平均; C=-2时R==v;C=-3时计算能量注量率,即C=1,R=E(MeV)。

表7.1 ENDF/B反应截面序号

粒子

标号

反应截面

中子

-1

非热化总截面

-2

吸收截面

-3

非热化弹性散射截面

-4

平均热数(MeV/碰撞)

-5

光子产生截面

-6

总裂变截面

-7

裂变中子产额

-8

裂变能Q(MeV/裂变)

光子

-1

非相干散射截面

-2

相干散射截面

-3

光电效应截面

-4

电子对效应截面

-5

总截面

-6

光子热数

7.1.5. Dose选项卡

Dose选项卡由三部分组成:插值方式、能量数组、乘子数组。

RMC实现剂量统计的原理是利用以能量为自变量的通量剂量转换因子函数,该函数利用能量数组代替 连续变化的能量,用乘子数组代替连续变化的转换因子,所以两数组数组长度必须相同,且均为单调 递增的实数。数组长度越大,表明插值点越多,结果越精确,插值方式共有四种,由Dose选项卡中第 一个正整数指定,1为log-log插值,即能量-转换因子函数在双对数坐标图上线性插值,2为log-lin插值, 即在能量对数坐标图上线性插值,3为lin-log插值,即在转换因子对数坐标图上线性插值,4为lin-lin 插值,即线性插值。

能量数组及乘子数组的设置可参考辐射防护国际组织制定的标准,例如ICRP-21指定的中子通量剂量转换 可在Dose卡中写成:1(插值类型) 2.5E-8 1.0E-7 1.0E-6 1.0E-5 1.0E-4 1.0E-3 1.0E-2 1.0E-1 5.0E-1 1.0 2.0 2.5 5.0 7.0 10.0 14.0 20.0(选取的能量点) 3.85E-6 4.17E-6 4.55E-6 4.35E-6 4.17E-6 3.70E-6 3.57E-6 2.08E-5 7.14E-5 1.18E-4 1.43E-4 1.47E-4 1.47E-4 1.47E-4 1.47E-4(乘子数组) 1.47E-4 1.54E-4。

7.1.6. Attenuator选项卡

Attenuator选项卡输入格式为:

Attenuator=C m1 px1 m2 px2...

C为归一化常数,m为材料号,px为密度和衰减厚度的乘积,px为正值时为原子密度和衰减厚度的乘积 (1024cm-2),px为负值时为质量密度和衰减厚度的乘积(1024g/cm2)。该选项卡可实现在不进行实 际建模的情形下计算衰减因子 \(e^{-\sigma 1 p \times 1-\sigma 2 p \times 2}\)

7.1.7. Gaussian选项卡

Gaussian选项卡用于对tally的能量值进行高斯分布抽样,抽样的微分概率为 \(\mathrm{f}(\mathrm{E})=\operatorname{Cexp}\left(-\left(\frac{E-E_{0}}{A}\right)^{2}\right)\) , C为归一化常数,使得 \(\int_{0}^{+\infty} f(\mathrm{E}) \mathrm{d} \mathrm{E}=1\)\(A=\frac{F w H M}{2 \sqrt{\ln 2}}\)

Gaussian选项卡输入格式为a b c,用于指定半高宽, \(\mathrm{FWHM}=\mathrm{a}+\mathrm{b} \sqrt{E+c E^{2}}\)

Gaussian选项卡的优先级高于Energy分箱而低于Dose卡。 展宽后能量为负值时将能量置为零。

7.1.8. Energy选项卡

Energy选项卡用于定义统计量的能量分箱统计结果,目前RMC中有两种定义Energy关键词的格式:

第一种定义方式使用需要Bin输入卡,在栅元计数器中定义Energy=bi,bi为对应的连续能量分箱,为此所需的 分箱卡定义为:

Bin ni Type=1, bound=e0, e1, e2, ... , en

可以统计按照e0, e1, e2, … , en划分的能量分区。

第二种定义方式是直接在栅元计数器中定义Energy=e0, e1, e2, … , en,其统计结果和使用Bin完全相同, 在不使用其他Bin的情况下可以简化输入。

注意 :建议使用第一种输入方式,在栅元计数器中使用了Bin的情况下(不管是该栅元计数器还是其他栅元 计数器),不允许使用第二种输入方式 ,目前第二种输入方式与Bin不兼容。

7.1.9. Time选项卡

Time选项卡用于定义统计量的时间分箱统计结果。

Time卡的定义方式是直接在栅元计数器中定义Time=t0, t1, t2, … , tn。注意 ,目前Time卡和 其他使用Bin的分箱不兼容,如果使用Time卡则不能在CellTally中使用其他Bin。

7.1.10. Value选项卡

Value卡用于对计数器的单次计数值进行分箱,可用于栅元、面和点计数器中。单次计数值为粒子一次 穿面、或在栅元中进行一次输运模拟时、或点探测器的一次碰撞时,对通量、流等的贡献。

Value的输入格式为Value=bn, 其中bn为Bin卡中的id号,Bin卡应使用连续分箱:

Type=1 bound=a1 a2 a3 … an

上面的输入格式可得到n-1个分箱结果:(a1, a2), (a2, a3), …, (an-1 ,an)。

7.1.11. Segment选项卡

Segment卡用于对CellTally或SurfaceTally进行切割,得到多个子tally。

Segment的输入格式为Segment=bn,其中bn为Bin卡中的id号。对应的Bin卡的格式应为

Type=2,value=±s_1  ±s_2 … ±s_n

其中s_i为在surf卡中的面编号。前面的正负号指定面的正负,这样定义的切割分箱表示该曲面 s_i和前面的所有面s_1、s_2、…、s_(i-1)的非逻辑运算求交。例如:value=1 2 3 -3产生四 个分箱,分别为1、-1∩2、-1∩-2∩3、-1∩-2∩-3。

对于栅元计数器来说,指定面将对统计的径迹进行分割,得到的子径迹分别落入对应分箱,对于 面计数器来说,指定面将对统计的面进行分割,粒子径迹穿过面的位置决定其落入哪一个分箱。 因此,栅元计数器的分割分箱不互斥而面计数器的分割分箱互斥且完整(互斥指某次tally计数 属于分箱a则不属于其他非a分箱,完整指任意一次tally计数必然落 入其中一个分箱)。Segment选项卡优先级低于Type和Multiplier。

对应的示例输入文件几何及Tally模块的部分文件如下:

UNIVERSE 0
Cell  1  2           mat=0 void=1
Cell  2  1&-2&-3     mat=1
Cell  3  1&-2&3&-4  mat=1
Cell  4  1&-2&4     mat=1
Cell  5  -1          mat=1

SURFACE
Surf 1  SO  10
Surf 2  SO  20
Surf 3  PX  2
Surf 4  PX  5

Tally
CellTally  1  particle=1  type=1  cell=5  segment=b1

SurfTally  1  particle=1  type=2  surf=1  segment=b1
Bin 1 type=2 value=-3 -4 4

则上述CellTally 1中Segment的效果将与下面输入文件中CellTally 1、CellTally 2和 CellTally 3相同,上述SurfTally 1中Segment的效果将与下面输入文件中SurfTally 1、 SurfTally 2和SurfTally 3相同。

UNIVERSE 0
Cell  1  2           mat=0 void=1
Cell  2  1&-2&-3     mat=1
Cell  3  1&-2&3&-4  mat=1
Cell  4  1&-2&4     mat=1
Cell  5  -1&-3       mat=1
Cell  6  -1&3&-4     mat=1
Cell  7  -1&4        mat=1

SURFACE
Surf 1  SO  10
Surf 2  SO  20
Surf 3  PX  2
Surf 4  PX  5

Tally
CellTally  1  particle=1  type=1  cell=5
CellTally  2  particle=1  type=1  cell=6
CellTally  3  particle=1  type=1  cell=7
SurfTally  1  particle=1  type=2  surf=1  cell=5
SurfTally  2  particle=1  type=2  surf=1  cell=6
SurfTally  3  particle=1  type=2  surf=1  cell=7

7.1.12. Flag选项卡

Flag选项卡用于标记曾穿过指定栅元或指定面的粒子对于Celltally中对应cell的贡献。

输入格式为Flag=bn,n为Bin卡中id号,Bin卡中Type=2,value=c1 –s2 … (ci –sj…)…cn –sm, 正整数ci为cell编号(不支持重复几何结构),负整数sj为SURF中的面编号,括号表示归并, 归并采用逻辑或操作,即穿过其中任意一个栅元或面的均属于该分箱,不支持括号嵌套,支持 栅元和面混合标识。注意,栅元标识是指粒子曾经过指定栅元,所以是以粒子离开面为信号, 所以源(包括外源、裂变源等非散射情形)粒子第一次径迹在Flag栅元内时不计入该标识分箱, 面源粒子也不计入该面标识分箱。

示例模型与6.1.8相同,当采用Flag选项卡时,输入文件如下:

UNIVERSE 0
Cell  1  2           mat=0 void=1
Cell  2  1&-2&-3     mat=1
Cell  3  1&-2&3&-4  mat=1
Cell  4  1&-2&4     mat=1
Cell  5  -1          mat=1

SURFACE
Surf 1  SO  10
Surf 2  SO  20
Surf 3  PX  2
Surf 4  PX  5

Tally
CellTally  1  particle=1  type=1  cell=5  flag=b1
SurfTally  1  particle=1  type=2  surf=1  flag=b2
Bin 1 type=2 value=2 3 4 5
Bin 2 type=2 value=-3 -4

以CellTally 1为例,其输出结果为:

FLAG         Ave            RE
2           x.xxxxE+0x   x.xxxxE+0x
3           x.xxxxE+0x   x.xxxxE+0x
4           x.xxxxE+0x   x.xxxxE+0x
5           x.xxxxE+0x   x.xxxxE+0x

这里CellTally 1分别统计径迹曾经过栅元2、3、4、5(从栅元2、3、4、5中穿出)的粒子对tally值的贡献; SurfTally 1分别统计径迹曾穿过面3和4的粒子对tally值各自的贡献,其中,某径迹从源点(0,0,0)产 生经过栅元5进入栅元2,该径迹并不计入flag=5,该径迹从源点(0,0,0)产生经过栅元5进入栅元2并散 射回栅元5时,该径迹计入flag=5。

7.1.13. Source选项卡

Source选项卡用于分别统计抽样自特定源的粒子对tally值的贡献。

输入格式为Source=bn,n为Bin卡中id号,Bin卡中Type=2,value=s1 s2 … 其中si为ExternalSource选项卡中各个Source的编号。示例输入文件如下:

EXTERNALSOURCE
Source 1 xxx
Source 2 xxx

    Tally
    CellTally  1  particle=1  type=1  cell=5  source=b1
    Bin 1 type=2 value=1 2

这里CellTally将分别统计来自Source 1和Source 2的粒子对栅元通量的贡献。

7.1.14. Nest选项卡

Nest选项卡用于指定分箱嵌套关系,当不含Nest卡时只输出总结果,各分箱统计结果, 当使用Nest分箱时,除输出以上结果,还输出嵌套分箱的结果。

输入格式:Nest=h1 h2…hn,hi为正整数,用于标识对应的分箱,1:能量分箱,2:余弦分箱 (面流计数器),3:切割分箱,4:标识分箱,5:碰撞次数分箱(点探测器),6:碰撞栅元 分箱(点探测器), 7: 计数值分箱,11:源分箱。标识靠前优先输出。由于分箱嵌套产生子分箱数目为乘 法效应,增加程序运行内存,因此不建议过多的层级嵌套。

下面的实例显示了如何使用Nest卡:

UNIVERSE 0
Cell  1  2           mat=0 void=1
Cell  2  1&-2&-3     mat=1
Cell  3  1&-2&3&-4  mat=1
Cell  4  1&-2&4     mat=1
Cell  5  -1          mat=1

SURFACE
Surf 1  SO  10
Surf 2  SO  20
Surf 3  PX  2
Surf 4  PX  5

Tally
CellTally  1  particle=1  type=1  cell=5  energy=b1 segment=b2 nest=3 1
Bin 1 type=1 bound=0 10e-5 10E-3 1.0 10
Bin 2 type=2 value=-3 -4 4

除了输出能量分箱和切割分箱外,还输出各切割分箱内的能量分箱。

7.1.15. Reactionrate选项卡

Reactionrate选项卡单独输出一个包含能群通量及反应率的.Reactionrate文件, 使用该选项卡时设置Reactionrate=1即可。

7.2. 网格计数器

网格计数器的输入卡为:

MeshTally <id> [Type = <type>] [Particle = <type>]
               [Energy = <erg_bin>] [Normalize = <flag>]
               [HDF5Mesh = <flag>]
               [Geometry=<geo>] [Axis=<a1><a2><a3>]
               [Vector=<v1><v2><v3>][Origin=<o1><o2><o3>]
               [Scope = <params>] [Bound = <params>]
               [ScopeX/ScopeY/ScopeZ = <params>]
               [BoundX/BoundY/BoundZ = <params>]

其中,

  • MeshTally为网格计数器输入卡的关键词。

  • id为网格计数器的编号,便于查阅输出。

  • Type卡指定计数类型。Type = 1表示通量,Type = 2表示功率, Type = 3表示裂变反应率,Type = 4表示吸收反应率。 Type = 5表示裂变中子产生率,Type = 6表示中子或光子释热率。

  • Particle选项卡指定计数的粒子类型。Particle = 1表示对中子计数, Particle = 2表示对光子计数,Particle = 3表示对电子和正电子计数。 默认情况为对中子计数。

  • Energy选项卡指定分群计数的能量区间,参数为能量间隔点(Mev)。 例如,“Energy = 0 6.25E-7 20”表示计数区间为0到0.625ev,0.625ev到 20Mev,20Mev到正无穷,共3个区间;同时,程序还将给出总计数。特别地,对于多 群临界计算,“Energy = -1”表示使用截面数据库的能群结构划分。若输入 中没有Energy选项卡,则表示只统计总的计数率。

  • Normalize选项卡指定是否用网格体积进行归一化。 Normalize = 1表示使用网格体积进行归一化, Normalize = 0(缺省值)表示不使用。

  • HDF5Mesh选项卡制定是否将该网格计数器的结果输出为网格类型的HDF5文件。

    HDF5Mesh = 1表示输出, HDF5Mesh = 0(缺省值)表示不输出。

  • Geometry选项卡指定坐标系类别,1为直角坐标系,2为柱坐标系,缺省为1。

  • Axis选项卡指定柱坐标系的z轴方向,直角坐标系不定义。

  • Vector选项卡的向量和Axis向量构成的平面为φ = 0平面, VectorAxis可以不垂直,但不能平行,直角坐标系不定义。

  • Origin选项卡指定柱坐标系的原点坐标,直角坐标系不定义。

  • Scope选项卡指定网格在x,y,z方向的数量。特别地,参数为“-1”表示该方向上 只有一层无限大网格 (注意:在Universe重复几何中的Scope选项卡当中,参数为1表示 该方向上只有一层无限大网格)。

  • Bound选项卡指定网格在x,y,z方向的边界范围,形如“Bound = x_min x_max y_min y_max z_min z_max”。若某方向只有一层网格,Bound选项卡中对应的参数没有实际意义。

  • BoundX / BoundY / BoundZ选项卡分别指定非均匀网格在x,y,z方向的粗网格边界序列, 比如”BoundX = 1.0 3.0 7.0”表示非均匀网格在x方向上有3个粗网格边界,分别为1.0,3.0,7.0。 注意:每个方向上的粗网格边界序列必须单调递增。

  • ScopeX ScopeY ScopeZ选项卡分别指定非均匀网格在x,y,z方向的细网格数量序列, 比如”ScopeX = 2 8”表示非均匀网格在x方向上共有两个粗网格,每个粗网格内依次有2、8个细网格。 注意:粗网格边界的数量必须比粗网格数量多1,此外,程序暂不支持某一方向上只有一层无限大网格的 非均匀网格

对于某一个MeshTally,均匀化网格参数/非均匀化网格参数仅能二选其一,不可以同时输入。

以下输入卡分别定义了一个均匀化网格和一个非均匀化网格。编号为1的MeshTally为均匀化网格, 在x方向上的边界为0、21.42,均匀划分为17个网格; 在y方向上的边界为0、21.42,均匀划分为17个网格; 在z方向上无限大。

编号为2的MeshTally为非均匀化网格, 在x方向上,[0, 21.42]间均匀划分为17个网格,[21.42, 42.84]间均匀划分为17个网格; 在y方向上,[0, 21.42]间均匀划分为17个网格,[21.42, 42.84]间均匀划分为17个网格; 在z方向上,[0, 300]间均匀划分为30个网格,[300, 1000]间均匀划分为10个网格, [1000, 3000]间均匀划分为20个网格。

Tally
MeshTally 1 Type = 1 Bound = 0 21.42 0 21.42 0 0 Scope = 17 17 -1
MeshTally 2 Type = 2 BoundX = 0 21.42 42.84 ScopeX = 17 17
                     BoundY = 0 21.42 42.84 ScopeY = 17 17
                     BoundZ = 0 300 1000 3000 ScopeZ = 30 10 20

7.3. 面计数器

面计数器的输入卡为:

SurfTally  <id>  [Particle=<particle>] [Type = <type>] [Surf=<surf_bin>]
        [Cell = <cell_vector_group>] [Filter = <params>] [Integral = <params>]
        [Area=<area>] [Vector=<vec>] [Multiplier=<mul>]  [Dose=<dose>]
        [Attenuator=<att>] [Gaussian=<gaussian>]  [Energy = <erg_bin>]
        [Cosine=<cosine>] [Value=<val_bin>] [Segment=<seg_bin>]
[Flag=<flag_bin>] [Source=<source_bin>] [Nest=<nest>]

其中,

  • SurfTally为面计数器输入卡的关键词。

  • id为面计数器的编号,便于查阅输出。

  • Type卡指定计数类型。0-中子或光子流;1-中子或光子通量,默认值为1。 注意当Type不为1时与Multiplier、Dose卡冲突。

  • Cell、Filter、Integral选项卡用于描述计数栅元,用法和CellTally中相同。

  • particle为栅元计数器统计的粒子类型,1代表中子、2代表光子、3代表电子。

  • Area为曲面面积列表,为正数,和归并后的Surf数对应,注意只适用于Type=1情况。

  • Vector可以设置面流的参考向量,需要和余弦分箱配合使用

  • Multiplier为截面乘子,为整数,用于自定义乘数或反应截面,在使用Multiplier时计数 类型Type必须设置为1,且不能使用Dose功能。

  • Dose用于统计剂量,使用方法和CellTally中相同。

  • Attenuator为衰减乘子,用于计算衰减因子,其用法和Celltally中相同。

  • Gaussian定义高斯能量展宽,是由实数构成的展宽数组,其用法在后面介绍。

  • Energy选项卡指定分群计数的能量区间,参数为能量间隔点(Mev)。例如, “Energy = 0 6.25E-7 20”表示计数区间为0到0.625ev,0.625ev到20Mev,20Mev 到正无穷, 共3个区间;同时,程序还将给出总计数。特别地,对于多群临界计 算,“Energy = -1”表示使用截面数据库的能群结构划分。若输入中 没有Energy选项卡,则表示只统计总的计数率。

  • Cosine选项卡用于定义角度分箱,其用法在后面介绍。

  • Value用于定义计数值分箱,即对计数器的单次计数器进行分箱处理。

  • Segment用于定义切割分箱,其用法和Celltally中相同。

  • Flag用于定义标记分箱,即对穿过某个特定面或栅元的粒子单独进行统计,其用法和Celltally中相同。

  • Source用于定义源分箱,即对抽样自某个源的粒子单独进行统计,仅用于固定源计算中,其 用法和Celltally中相同。

  • Nest用于定义分箱之间的嵌套,如输出能量分箱和余弦分箱之间的嵌套,其用法和celltally中相同。

7.3.1. Surf选项卡

Surf选项卡指定要计数的面,有面定位和栅元定位两种输入模式。需要注意的是指定的面必须是参与构成cell的面 。 任意定义的surf是无法参与统计的。

1、面定位

采用面定位时,用户指定统计面,该面上所有粒子不论位置方向均统计, 此时与Cell、Filter和Integral选项卡冲突。注意:RMC几何许多面均为无限大,若用户要统计有限大面的相关计数,建议采用第二种方式,利用栅元定位,否则很容易出错

输入格式为Surf=s1…(si…sj)…sn,即分别统计各个面上的tally值,括号为面归并, 不支持括号嵌套。由于si是Surf卡中面编号,而对于重复几何结构大量面并未出现 在Surf卡而是以栅元定位,所以此输入模式不适合重复几何结构。

2、栅元定位

采用此模式时,输入格式为Surf=s,s须为SURF卡中包含的面编号,配合Cell、Filter 和Integral选项卡使用,产生的分箱数与CellTally中语法规定的相同,统计的面为面 s在对应cell上的部分,如果cell有归并的效果,对应的子面也同样进行归并。

面计数器需要注意的是如果想统计除面流和面通量外的物理量,无法通过Type卡实现 而只能通过Multiplier手动实现。这是因为统计面两侧的材料可能不同而导致无法确定截面。

7.3.2. Vector选项卡和Cosine选项卡

Cosine选项卡可以用于统计面流的角度分箱,在使用Cosine选项卡时需要指定Type=0。Cosine 选项卡的输入格式为Cosine=bn,bn为Bin卡中对应的分箱编号。在Bin卡中,Type=1,value=u0, u1,u2,…un,u为指定分箱的余弦值。

Vector选项卡可以指定面流的参考向量,其输入格式为 Vector=x y z。在不使用参考向量 的时候,默认的参考向量即为面的法向量。

7.4. 点计数器

点计数器的输入卡为:

PointTally  <id> [Particle=<particle>] [Point=<x> <y> <z>]
        [Radius=<r>] [Multiplier=<mul>] [Dose=<dose>] [Attenuator=<att>]
        [Gaussian=<gaussian>] [Value=<val_bin>] [Energy = <erg_bin>]
[Number=<number>] [Cell=<cell>] [Source=<source_bin>] [Nest=<nest>]

其中,

  • PointTally为点计数器输入卡的关键词。

  • id为点计数器的编号,便于查阅输出。

  • Particle卡指定粒子种类,1-中子,2-光子。

  • Point选项卡用于描述统计点坐标(cm),参数为空间三维坐标数组x, y, z。

  • Radius用于定义点计数器的均匀球半径(cm),默认值为0.1。

  • Multiplier为截面乘子,为整数,用于自定义乘数或反应截面,在使用Multiplier时计数 类型Type必须设置为1,且不能使用Dose功能。

  • Dose用于统计剂量,使用方法和CellTally中相同。

  • Attenuator为衰减乘子,用于计算衰减因子,其用法和Celltally中相同。

  • Gaussian定义高斯能量展宽,是由实数构成的展宽数组,其用法在后面介绍。

  • Value用于定义计数值分箱,即对计数器的单次计数器进行分箱处理。

  • Energy选项卡指定分群计数的能量区间,参数为能量间隔点(Mev)。例如, “Energy = 0 6.25E-7 20”表示计数区间为0到0.625ev,0.625ev到20Mev,20Mev 到正无穷, 共3个区间;同时,程序还将给出总计数。特别地,对于多群临界计 算,“Energy = -1”表示使用截面数据库的能群结构划分。若输入中 没有Energy选项卡,则表示只统计总的计数率。

  • Number选项卡用于定义碰撞次数分箱,其用法在后面介绍。

  • Cell选项卡定义碰撞点栅元数组,其用法在后面介绍。

  • Source用于定义源分箱,即对抽样自某个源的粒子单独进行统计,仅用于固定源计算中,其 用法和Celltally中相同。

  • Nest用于定义分箱之间的嵌套,如输出能量分箱和碰撞次数分箱之间的嵌套,其用法和celltally中相同。

7.4.1. Number选项卡

Number选项卡用于对统计粒子在粒子输运过程中发生的碰撞次数进行分箱, 输入格式为Number=bn,n为Bin卡id号,Bin卡中Type=2,value=n1 n2…(ni…nj)…nm, 括号用于归并,不支持括号嵌套,括号内外均满足互斥性,不满足完整性。

7.4.2. Cell选项卡

Cell选项卡用于对统计粒子所处的栅元进行分箱,输入格式为Cell=bn, n为Bin卡id号,Bin卡中Type=2,value=c1 c2…(ci…cj)…cn,括号用于归并, 不支持括号嵌套,括号内外均满足互斥性,不满足完整性,ci为输入的栅元号, 不支持重复几何结构。

RMC点计数器对外源、裂变反应、中子致光子反应和光核反应均有各向同性的假设。

点计数器用于分箱和计算截面的能量和输运过程的能量通常不同,每次计算截面时 需要重新插值,因此无法使用Type功能计算除通量以外的物理量,用户可根据需要 使用Multiplier卡实现。

点计数器使用相比于栅元计数器和面计数器有以下几点注意;

1、点计数器是基于碰撞点次级事件估计法原理的计数器,由于次级事件估计法对于 碰撞点距离点探测距离过近的情形存在二次奇点情形,因此RMC采用均匀化处理,用 户需指定R_0 ,以半径为R_0 ,球心为点计数器的小球来代替探测点。R_0选取过大则误差 较大,较小则方差过大,用户可以探测点所处材料的平均自由程为 参考多次选取,直至在满足方差要求的基础上使R_0尽可能小。需要注意的是为了保证 R_0小球内部是均匀的,小球不能跨过两边材料不同的边界。

7.5. 分箱

RMC对分箱的具体信息使用了单独的输入卡,使得多个计数器可以共用分箱以简化 输入,且程序对分箱功能有更好的扩展性。

分箱的输入卡为:

Bin    <id>    [Type = <type>]  [Bound = <params>]  [Value = <params>]
[Weight=<wgt>]

其中,

  • Bin为分箱输入卡的关键词。

  • id为分箱的编号,便于查阅输出。

  • Type卡指定分箱类型。Type = 1表示连续区间分箱,Type = 2表示离散值分箱。

  • Bound选项卡指定Type = 1时分箱区间的边界,Bound = x1 x2 x3…xn产生n-1个分箱, 分别为[x1, x2)、[x2, x3)…[xn-1,xn],注意开闭区间不同。

  • Value选项卡指定Type = 2时离散分箱的整数值,Value = i1 i2…(ij…ik)…in, 括号内为一个分箱。

  • Weight选项卡指定各分箱的权重,数目分箱数需一致。

7.6. 截面计数器

截面计数器统计指定栅元内、指定材料的所有核素、指定反应类型的单群截面或分群截面 (目前版本暂不支持分群截面计数器)。截面计数器的输入卡为:

CsTally <id> [Cell = <cell_vector>] [Mat = <mat>] [Energy = <erg_bin>]
[MT = <mt_list_1, mt_list_2, …>]

其中,

  • CsTally为截面计数器输入卡的关键词。

  • id为计数器的编号。

  • Cell卡指定被计数的栅元。注意与栅元计数器不同的是,截面计数器输入的是 单个栅元向量,且必须是底层栅元。此外还需注意,在不同的CsTally卡当 中,Cell卡不允许重复。

  • Mat卡指定被计数的材料。该材料可以不同于计数器栅元中实际填充的材料。用户 若需要统计同一个栅元中的不同核素的截面,可以将这些核素定义在同一种材料中即可。

  • Energy选项卡指定分群计数的能量区间,参数为能量间隔点(Mev)。例 如,“Energy = 0 6.25E-7 20”表示计数区间为0到0.625ev,0.625ev到20Mev,20Mev到正无穷;同时,程序还 将给出总计数。特别地,对于多群临界计算,“Energy = -1”表示使用截面数据 库的能群结构划分。若输入中没有Energy选项卡,则表示只统计总的计数率。 目前RMC版本暂不支持分能群统计功能,Energy选项卡被关闭。

  • MT选项卡指定各个核素的反应类型。每个核素可以对应多个反应类型,核素之间 以逗号间隔,例如“MT = 16 17 , 102, -6, 107”。反应类型与编号的对应关系可查阅 ENDF/B手册,表7.2 给出常见的一些反应类型编号。

表7.2 反应类型与编号的对应关系(仅列出部分ENDF反应类型)

MT编号

反应类型

备注

-1

总截面

对于连续能量ACE截面,当截面温度与栅元温度不匹配时,采取多普 勒展调整弹性散射截面和总截面。这里统计的是调整后的截面。

-2

吸收

不包含裂变

-3

弹性散射

-6

裂变

16

(n, 2n)

仅限连续能量ACE截面

17

(n, 3n)

102

(n, γ)

103

(n, p)

107

(n, α)

以下输入卡统计了某个栅元(1 > 221 > 145 > 35)当中的3种核素的单群截面,其中包括: U235的裂变截面,U238的吸收截面和裂变截面,O16的辐射俘获截面。

MATERIAL
mat 2 -10.196
    92235.30c 0.03
    92238.30c 0.97
    8016.30c 2.0
CsTally 1 Cell = 1 > 221 > 145 > 35 Mat = 2 MT = -6 , -2 -6 , 102

7.7. 计数器统计检验

RMC可以针对不同的计数器提供一般性的统计检验功能,使用统计检验功能需要在计数器输入卡中开启统计检验开关:

Scheck 1

此开关默认情况下关闭,打开后对所有的计数器进行统计检验,由于统计检验功能会占用较大的内存并且对计算速度有 一定的影响,用户可以自行指定关闭特定计数器的统计检验开关,在cellTally、meshTally等计数器卡中设置check=0即可关闭 针对该计数器的统计检验。目前统计检验功能适用于固定源计算和临界计算模式。

当打开统计检验功能后,计数器输出的h5文件中除了平均值和方差之外,还会有额外的统计参数和检验结果。现将统计涨落的输出 内容介绍如下:

(1)10项基本的统计检验功能,在表格TenStatisticsChecks中输出,分别有:MeanBehaviourCheck、 ReValueCheck、ReDecreaseCheck、ReDeRateCheck、VOVValueCheck、VoVDecreaseCheck、 VoVDeRateCheck、FoMValueCheck、FoMBehaviourCheck、PdfSlopeCheck;

(2)一些统计学参数,具体说明如下:

  • Confidence_interval_shift:表示由于实际分布并非正态分布而因此对平均值进行的修正,具体统计方法见理论手册;

  • Shifted_confidence_interval_center:经过修正后的平均值(置信区间中点);

  • Efficiency_for_the_nonzero_tallies:计数效率,即非零计数粒子占总模拟粒子数的比例;

  • Final_VOV:最终得到的相对方差的方差,具体统计方式见理论手册;

  • Largest_unnormalized_history_tally:对该计数器贡献最大的粒子的计数值(未除以体积);

  • Unnorm_average_tally_per_history:未除以体积的计数平均值;

  • Number_of_nonzero_history_tallies:非零的计数粒子的数目;

  • Relative_error_from_nonzero_tallies:只考虑非零计数粒子对方差的贡献;

  • Relative_error_from_zero_tallies:零计数粒子对方差的贡献;

  • PDF_slope:计算得到的pdf函数斜率,具体定义和统计方式见理论手册;

  • Fluctuated_Mean:如果对该计数器贡献最大的粒子在下次模拟中再次出现,受到影响的平均值;

  • Fluctuated_Re:如果对该计数器贡献最大的粒子在下次模拟中再次出现,受到影响的相对标准差;

  • Fluctuated_VOV:如果对该计数器贡献最大的粒子在下次模拟中再次出现,受到影响的相对方差的方差;

  • Fluctuated_FOM:如果对该计数器贡献最大的粒子在下次模拟中再次出现,受到影响的品质因子;

  • Fluctuated_Shifted_Center:如果对该计数器贡献最大的粒子在下次模拟中再次出现,受到影响的平均值修正量;

(3)pdf函数分布表pdfTable,将计数值按照对数等间隔划分为若干组,记录落入每组中的粒子数和粒子的计数和;

(4)一些基本统计参数的分组输出,包括Batches_of_Mean、Batches_of_Re、Batches_of_VoV、 Batches_of_FOM。

7.8. 计数器加速及计数器数据分解(仅限企业版本)

针对含大量栅元的栅元计数器和含大量核素的截面计数器,RMC提供相应的加速功能。计数 器加速的输入卡为:

AcceTally [Map = <flag>] [Union = <flag>] [DataDecomposition = <flag>]

其中,

  • AcceTally为计数器加速输入卡的关键词。

  • Map选项卡指定是否使用栅元快速定位方法来处理栅元计数器。Map = 1(缺省值)表示使用快速定位方法,Map = 0表示不使用快速定位。当栅元计数 器栅元含有大量栅元时,开启该选项能显著节省计算时间。

  • Union选项卡指定是否使用统一能量框架方法来处理截面计数器。Union= 1表示使用统一能量框架方法,Union= 0(缺省值)表示不使用统一能量框 架方法。当截面计数器栅元内含有大量核素时,使用统一能量框架方法能节省计算时 间,但代价是丢失了方差信息以及消耗额外的内存。

  • DataDecomposition选项卡指定是否使用计数器数据分解。 DataDecomposition = 1表示使用计数器数据分解, DataDecomposition = 0(缺省值)表示不使用计数器数据分解。

7.9. 计数器模块输入示例

6.5.1 PWR燃料棒轴向分段计数 PWR燃料棒轴向分段计数 ~~~~~~~~~~~~~~~~~~~~~~~~~~~

示例7.1 是一个PWR的燃料棒,轴向分为10段。计数器模块中分别定 义了两个栅元计数器、一个网格计数器和一个截面计数器。

第一个栅元计数器(CellTally 1)统计轴向各段燃料区和慢化剂区的分能群通量,第二个栅元计数器(CellTally 2)统计轴向各段燃料区的裂变反应率之和。网格计数器(MeshTally 1)统计轴向100段的分能群通量分布。截面计数器(CsTally 1)统计第5段燃料区的各核素的单群截面:U235的裂变截面(-6)和辐射俘获截面(102), U238的裂变截面(-6)、n-2n截面(16)和辐射俘获截面(102),O16的n-a截面(107)。


示例7.1 PWR燃料棒计数器输入
///// PWR pin divided into 10 nodes in axial. Qiu Yishu 2012-09-15 //////
UNIVERSE 0
cell 1 6 & -7 & 8 & -9 & 10 & -11 Fill = 8 // Pin inside
cell 2 -6 : 7 : -8 : 9 : -10 : 11 void = 1 // Pin outside

UNIVERSE 8 lat = 1 pitch = 1 1 0.5 scope = 1 1 10  fill =
    1 * 10

UNIVERSE 1 move = 0.63 0.63 0 // Fuel rod
cell 3 -1 mat = 1             // Fuel
cell 4 1 & -2 mat = 3         // Air
cell 5 2 & -3 mat = 4         // Zr
cell 6 3 mat = 5              // water

SURFACE
surf 1 cz 0.4096
surf 2 cz 0.4178
surf 3 cz 0.4750
surf 6 px 0 bc = 1
surf 7 px 1.26 bc = 1
surf 8 py 0 bc = 1
surf 9 py 1.26 bc = 1
surf 10 pz 0 bc = 1
surf 11 pz 5 bc = 1

MATERIAL
mat 1 -10.196
      92235.30c 6.9100E-03
      92238.30c 2.2062E-01
      8016.30c 4.5510E-01
mat 3 -0.001
      8016.30c 3.76622E-5
mat 4 -6.550
      40000.60c -98.2
mat 5 9.9977E-02
      1001.30c 6.6643E-02
      8016.30c 3.3334E-02
sab 5 lwtr.60t
CeAce ErgBinHash = 0 pTable = 0

CRITICALITY
PowerIter population = 1000 30 200 // keff0 = 1.0
InitSrc point = 0.63 0.63 2.75

  Tally
  CellTally 1 type = 1 energy = 0 6.25E-7 20
                   cell = 1 > 1: 10 > 3
                     1 > 1: 10 > 6
  CellTally 2 type = 3 integral = 10
                   cell = 1 > 1: 10 > 3
  MeshTally 1 type = 1 energy = 0 6.25E-7 20
                   Scope = 1 1 100
                   Bound = 0 1.26 0 1.26 0 5
  CsTally 1 cell = 1 > 5 > 3
                   mat = 1
                   mt = -6 102 , -6 16 102, 102

7.9.1. Hoogenboom全堆基准题大规模计数器

示例7.2 是一个压水堆全堆基准题。堆芯一共包含241个相同的 燃料组件,每个燃料组件包含 17×17个栅元,每个栅元的轴向分为100层。计数器模块中分别定义了五个栅元计数器和两个 截面计数器。第一个栅元计数器统计全堆燃料区域的通量,第二个栅元计数器统计三个不同 位置(0,0)、(3,2)、(-3,2)的燃料组件的通量。第三个栅元计数器统计三个不同 位置(0,0)、(3,2)、(-3,2)的燃料组件的燃料区域的功率。第四个栅元计数器统 计两根不同的燃料棒的裂变反应率。第五个栅元计数器统计某根燃料棒三个不同的轴向节块 的分能群吸收反应率。第一个截面计数器统计某个轴向节块的各核素的单群截面:H1的弹性 散射截面(-3),O16的总截面(-1)和吸收截面(-2),B10的弹性散射截面(-3)和B11 和辐射俘获截面(102)。该材料为该问题实际用到的一种材料。第二个截面计数器统计某 个轴向节块的各核素的单群截面:N14的总截面(-1)、吸收截面(-2)、弹性散射截面 (-3)、裂变截面(-6)、n-2n截面(16)、辐射俘获截面(102)和n-a截面(107)。该 材料为“虚拟的”材料,临界计算实际没有用到这种材料。


示例7.2 Hoogenboom全堆基准题计数器输入
///// Tally of MC full-core benchmark. /////
universe 0
cell 1 -11 : 19 : 9       mat = 0  void = 1         // outside core
cell 2 11 & -19 & 8 & -9  mat = 1  vol = 1.3575E+07 // reactor vessel
cell 3 12 & -18 & 7 & -8  mat = 2  vol = 1.1393E+07 // downcomer
cell 6 18 & -19 & -8      mat = 3  vol = 1.3180E+06 // upper core plate region
cell 7 11 & -12 & -8      mat = 4  vol = 4.9424E+06 // lower core plate region
cell 8 17 & -18 & -6      mat = 5  vol = 1.3268E+06 // top nozzle region
cell 9 12 & -13 & -6      mat = 6  vol = 6.6339E+05 // bottom nozzle region
cell 10 16 & -17 & -6     mat = 7  vol = 2.2113E+06 // top FA region
cell 11 13 & -14 & -6     mat = 8  vol = 1.1056E+06 // bottom FA region
cell 12 16 & -18 & 6 & -7 mat = 9  vol = 8.5323E+05 // radial hot water
cell 13 12 & -14 & 6 & -7 mat = 10 vol = 4.2662E+05 // radial cold water
cell 14 14 & -16 & -7    fill = 1  vol = 5.0225E+07

// assembly zone
universe 1 move = -224.91 -224.91 -183 lat = 1 pitch = 21.42 21.42 1 scope = 21 21 1 fill=
    2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
    2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
    2 2 2 2 2 2 2 3 3 3 3 3 3 3 2 2 2 2 2 2 2
    2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2
    2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2
    2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2
    2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2
    2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2
    2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2
    2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2
    2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2
    2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2
    2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2
    2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2
    2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2
    2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2
    2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2
    2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2
    2 2 2 2 2 2 2 3 3 3 3 3 3 3 2 2 2 2 2 2 2
    2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
    2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

universe 2 fill = // single reflector lattice
cell 21 16 mat=9 // upper radial reflector
cell 22 -16 mat=10 // lower radial reflector

universe 3 lat = 1 pitch = 1.26 1.26 1 scope = 17 17 1 fill =
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 5 4 4 5 4 4 5 4 4 4 4 4
    4 4 4 4 5 4 4 4 4 4 4 4 5 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 5 4 4 5 4 4 5 4 4 5 4 4 5 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 5 4 4 5 4 4 5 4 4 5 4 4 5 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 5 4 4 5 4 4 5 4 4 5 4 4 5 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 5 4 4 4 4 4 4 4 5 4 4 4 4
    4 4 4 4 4 5 4 4 5 4 4 5 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
    4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4

universe 4 lat=1 pitch = 1 1 3.66 scope = 1 1 100 fill =
         6*50 7*50

universe 5 lat=1 pitch = 1 1 3.66 scope = 1 1 100 fill =
         8*50 9*50

universe 6 move = 0.63 0.63 1.83
cell 100 -1 mat=11
cell 24 1 & -2 mat=12
cell 25 2 mat=2

universe 7 move = 0.63 0.63 1.83
cell 101 -1 mat =11
cell 27 1 & -2 mat =12
cell 28 2 mat =22

universe 8 move = 0.63 0.63 1.83
cell 29 -3 mat =2
cell 30 3 & -4 mat =12
cell 31 4 mat =2

universe 9 move = 0.63 0.63 1.83
cell 32 -3 mat =22
cell 33 3 & -4 mat =12
cell 34 4 mat =22

SURFACE
surf 1 cz 0.41
surf 2 cz 0.475
surf 3 cz 0.56
surf 4 cz 0.62
surf 5 cz 1.26
surf 6 cz 187.6
surf 7 cz 209
surf 8 cz 229
surf 9 cz 249 bc =1 // radial boundary
surf 11 pz -229 bc =1 // bottom boundary
surf 12 pz -199
surf 13 pz -193
surf 14 pz -183
surf 15 pz 0
surf 16 pz 183
surf 17 pz 203
surf 18 pz 215
surf 19 pz 223 bc =1 // upper boundary

MATERIAL
mat 1 -7.9 // reactor vessel
      26054.30c -5.4371E-02 26056.30c -8.8501E-01 26057.30c -2.0801E-02
      26058.30c -2.8216E-03 28058.30c -6.7198E-03 28060.30c -2.6776E-03
      28061.30c -1.1830E-04 28062.30c -3.8350E-04 28064.30c -1.0080E-04
      25055.30c -1.0000E-02 42000.60c -6.0000E-03 14028.30c -3.6746E-03
      14029.30c -1.9336E-04 14030.30c -1.3200E-04 24050.30c -1.0435E-04
      24052.30c -2.0925E-03 24053.30c -2.4185E-04 24054.30c -6.1325E-05
       6000.30c -2.5000E-03 29063.30c -1.3696E-03 29065.30c -6.3040E-04
mat 2 -0.74 // Borated water below midplane
      1001.30c 2.0000E+00 8016.30c 1.0000E+00 5010.30c 6.4900E-04
      5011.30c 2.6890E-03
sab 2 lwtr.60t
mat 22 -0.66 // Borated water above midplane
      1001.30c 2.0000E+00 8016.30c 1.0000E+00 5010.30c 6.4900E-04
      5011.30c 2.6890E-03
sab 22 lwtr.60t
mat 3 -4.28 // top core plate region
      1001.30c -8.6117E-03 8016.30c -6.8337E-02 5010.30c -2.7764E-05
      5011.30c -1.2648E-04 26054.30c -3.5954E-02 26056.30c -5.8522E-01
      26057.30c -1.3755E-02 26058.30c -1.8658E-03 28058.30c -5.5815E-02
      28060.30c -2.2240E-02 28061.30c -9.8261E-04 28062.30c -3.1854E-03
      28064.30c -8.3725E-04 25055.30c -1.8458E-02 28058.30c -8.4783E-03
      28060.30c -4.4613E-04 28061.30c -3.0456E-04 24050.30c -7.3191E-03
      24052.30c -1.4677E-01 24053.30c -1.6963E-02 24054.30c -4.3013E-03
mat 4 -7.184 // bottom plate region
      1001.30c -1.1505E-03 8016.30c -9.1296E-03 5010.30c -3.7092E-06
      5011.30c -1.6897E-05 26054.30c -3.8556E-02 26056.30c -6.2759E-01
      26057.30c -1.4750E-02 26058.30c -2.0009E-03 28058.30c -5.9855E-02
      28060.30c -2.3850E-02 28061.30c -1.0537E-03 28062.30c -3.4159E-03
      28064.30c -8.9785E-04 25055.30c -1.9794E-02 28058.30c -9.0920E-03
      28060.30c -4.7842E-04 28061.30c -3.2660E-04 24050.30c -7.8489E-03
      24052.30c -1.5739E-01 24053.30c -1.8191E-02 24054.30c -4.6127E-03
at 5 -1.746 // top nozzle region
      1001.30c -3.5887E-02 8016.30c -2.8478E-01 5010.30c -1.1570E-04
      5011.30c -5.2708E-04 26054.30c -2.6440E-02 26056.30c -4.3037E-01
      26057.30c -1.0115E-02 26058.30c -1.3721E-03 28058.30c -4.1046E-02
      28060.30c -1.6355E-02 28061.30c -7.2261E-04 28062.30c -2.3425E-03
      28064.30c -6.1571E-04 25055.30c -1.3574E-02 28058.30c -6.2349E-03
      28060.30c -3.2808E-04 28061.30c -2.2397E-04 24050.30c -5.3825E-03
      24052.30c -1.0793E-01 24053.30c -1.2475E-02 24054.30c -3.1632E-03
mat 6 -2.53 // bottom nozzle region
      1001.30c -2.4501E-02 8016.30c -1.9443E-01 5010.30c -7.8992E-05
      5011.30c -3.5985E-04 26054.30c -3.0411E-02 26056.30c -4.9501E-01
      26057.30c -1.1635E-02 26058.30c -1.5782E-03 28058.30c -4.7211E-02
      28060.30c -1.8812E-02 28061.30c -8.3114E-04 28062.30c -2.6944E-03
      28064.30c -7.0819E-04 25055.30c -1.5613E-02 28058.30c -7.1713E-03
      28060.30c -3.7736E-04 28061.30c -2.5761E-04 24050.30c -6.1909E-03
      24052.30c -1.2414E-01 24053.30c -1.4348E-02 24054.30c -3.6383E-03
mat 7 -1.762 // top FA region
      1001.30c -2.9286E-02 8016.30c -2.3239E-01 5010.30c -9.4416E-05
      5011.30c -4.3012E-04 40000.60c -7.3780E-01
mat 8 -3.044 // bottom FA region
      1001.30c -1.6291E-02 8016.30c -1.2928E-01 5010.30c -5.2523E-05
      5011.30c -2.3927E-04 40000.60c -7.3780E-01
mat 9 -4.28 // upper radial reflector
      1001.30c -8.6117E-03 8016.30c -6.8337E-02 5010.30c -2.7764E-05
      5011.30c -1.2648E-04 26054.30c -3.5954E-02 26056.30c -5.8522E-01
      26057.30c -1.3755E-02 26058.30c -1.8658E-03 28058.30c -5.5815E-02
      28060.30c -2.2240E-02 28061.30c -9.8261E-04 28062.30c -3.1854E-03
      28064.30c -8.3725E-04 25055.30c -1.8458E-02 28058.30c -8.4783E-03
      28060.30c -4.4613E-04 28061.30c -3.0456E-04 24050.30c -7.3191E-03
      24052.30c -1.4677E-01 24053.30c -1.6963E-02 24054.30c -4.3013E-03
mat 10 -4.32 // lower radial reflector
      1001.30c -9.5661E-03 8016.30c -7.5911E-02 5010.30c -3.0841E-05
      5011.30c -1.4050E-04 26054.30c -3.5621E-02 26056.30c -5.7981E-01
      26057.30c -1.3628E-02 26058.30c -1.8485E-03 28058.30c -5.5298E-02
      28060.30c -2.2034E-02 28061.30c -9.7351E-04 28062.30c -3.1559E-03
      28064.30c -8.2950E-04 25055.30c -1.8287E-02 28058.30c -8.3998E-03
      28060.30c -4.4200E-04 28061.30c -3.0174E-04 24050.30c -7.2514E-03
      24052.30c -1.4541E-01
      24053.30c -1.6806E-02 24054.30c -4.2615E-03
mat 11 -10.062 // fuel
      92234.30c 4.9476E-06 92235.30c 4.8218E-04 92236.30c 9.0402E-05
      92238.30c 2.1504E-02 93237.30c 7.3733E-06 94238.30c 1.5148E-06
      94239.30c 1.3955E-04 94240.30c 3.4405E-05 94241.30c 2.1439E-05
      94242.30c 3.7422E-06 95241.30c 4.5041E-07 95242.30c 9.2300E-09
      96243.30c 4.7878E-07 96242.30c 1.0485E-07 96243.30c 1.4300E-09
      96244.30c 8.8760E-08 96245.30c 3.5300E-09 42095.30c 2.6497E-05
      43099.30c 3.2772E-05 44101.30c 3.0742E-05 44103.30c 2.3505E-06
      47109.30c 2.0009E-06 54135.30c 1.0800E-08 55133.30c 3.4612E-05
      60143.30c 2.6078E-05 60145.30c 1.9898E-05 62147.30c 1.6128E-06
      62149.30c 1.1627E-07 62150.30c 7.1727E-06 62151.30c 5.4947E-07
      62152.30c 3.0221E-06 63153.30c 2.6209E-06 64155.30c 1.5400E-09
      8016.30c 4.5737E-02
mat 12 -5.77 // cladding composition also the guide tube ma
      40000.60c -7.3780E-01
mat 13 1.0 // a material which is not used in the problem
      7014.30c 1.0

CRITICALITY
PowerIter population = 100000 250 1250 // keff0 = 1.0
InitSrc point = 1.26 0 0.1
ParallelBank 1

  Tally
  celltally 1 Type = 1 filter = 1 0 0 0 1 integral = 2
              cell = 14 > 0 > 0 > 0 > 100:101
  celltally 2 Type = 1 filter = 1 1
              cell = 14 > 221
                     14 > 266
                     14 > 260
  celltally 3 Type = 2 filter = 1 1 0 0 1 integral = 2*3
              cell = 14 > 221 > 0 > 0 > 100:101
                     14 > 266 > 0 > 0 > 100:101
                     14 > 260 > 0 > 0 > 100:101
  celltally 4 Type = 3 filter = 1 1 1
              Cell = 14 > 266 > 1
                     14 > 266 > 164
  celltally 5 Type = 4 Energy=0 6.25E-07
              Cell = 14 > 266 > 164 > 1 > 100
              14 > 266 > 164 > 50 > 100
              14 > 266 > 164 > 100 > 101
  CsTally 6 Cell = 14 > 266 > 164 > 49 > 100
             Mat = 2 MT = -3, -1 -2, -3, 102
  csTally 7 Cell = 14 > 266 > 164 > 51 > 101
             Mat = 13 MT = -1 -2 -3 -6 16 17 102 103 107