16. 材料微扰(仅限企业版本)¶
RMC支持在临界源和固定源模式下材料微扰功能,包括材料密度微扰和材料温度微扰,材料温度微扰考虑的是微观截面多普勒效应,即温度对核素微观截面的影响, 而材料密度微扰考虑的是材料密度变化对响应量的影响,具体使用方法见以下的输入卡说明。
16.1. 材料密度微扰和温度微扰模块输入卡¶
Perturbation
Differentialoperator <id> [cell=<cell_vector>] [perbcellfilter=<params>] [material=<mat_vector>]
[nuclide=<nuc_vector>] [variable=<param>] [estimator=<param>] [order=<param>] [sourceperb=<param>]
[batchcycle=<param>] [outputbycycle=<param>] [crosssection=<param>] [response=<param>]
[tallycell=<cell_vector>] [tallycellfilter=<params>] [matnameid=<param>] [pressure=<param>]
[gramdenpoly=<params>]
其中,
Perturbation为材料微扰模块关键词;
differentialoperator为微分算符法输入卡,支持多个同时使用,其后紧跟的id须不同;
cell为扰动栅元向量,层级输入格式和celltally中一致,缺省时仅使用material定位扰动栅元,即认为所有包含扰动材料的栅元都是扰动栅元, 否则cell和material采用与关系共同定位。该输入卡是为了缩小扰动范围,因为一种材料可以填充多个栅元,因此使用cell卡可以从由material确定的 栅元中进一步筛选扰动栅元;
perbcellfilter为扰动栅元过滤器,与计数器中的 filter 卡使用方式相同;
material为扰动材料在material卡中的id,不可缺省,material卡中允许输入单个材料编号或材料编号列表;
nuclide为扰动核素的zaid,可缺省,缺省时表示扰动材料中的所有核素都是扰动核素;
variable为扰动类型,1-材料密度微扰(默认值),2-材料温度微扰。 材料密度微扰考虑材料密度变化对响应物理量的扰动,如果用户没有使用matnameid输入卡,则程序计算结果只会给出响应物理量 对扰动材料的扰动核素的原子密度和质量密度的敏感性系数。如果使用了matnameid输入卡,则程序会根据质量密度系数继续计算出仅考虑材料热膨胀 效应的材料温度系数。温度微扰考虑的是温度对核素微观截面的扰动进而造成对响应物理量的扰动。
注意:温度微扰功能需要在材料输入卡模块的打开OTFDB,在AIS数据库模式下材料温度微扰可以考虑URR的截面温度效应,此时需要打开OTFPTB功能, 若材料卡部分的ptable=1,则只有一阶敏感性系数可以考虑URR截面温度效应,若ptable=2,则二阶敏感性系数也可以考虑URR截面温度效应;
estimator扰动的keff估计器,0-碰撞估计器(默认值),1-吸收估计器,2-径迹长度估计器; 注意:TMS模式下只能使用吸收估计器;在开启源扰动时径迹长度估计器计算结果不准确,建议使用碰撞估计器;温度微扰不建议使用吸收估计器;
order扰动的阶数,1-一阶微扰,2-二阶微扰(默认值);
sourceperb是否使用源扰动,0-不使用(默认值),1-使用;只有临界源模式需要考虑源扰动,此时使用源扰动计算更加精确,但同时耗时增加, 固定源模式下的材料微扰功能不考虑裂变,因此不需要考虑源扰动效应,无需输入;
batchcycle为使用源扰动时batch中的代数,默认值为5,固定源模式下无需输入;
outputbycycle是否每代输出微扰系数,0-仅最后一代输出(默认值),1-每代输出,固定源模式下无需输入;
crosssection微扰截面类型,仅对温度微扰即variable=2时使用,1-总截面(默认值),2-弹性散射截面,3-裂变截面,4吸收截面, 用户可以输入多个值,表示同时扰动多种截面,但总截面不能与其他截面同时扰动。对于材料密度微扰即variable=1时即使用户输入了非1的值, 程序也会默认使用1;
response响应量,1-有效增殖因子(默认值),2-功率,3-中子通量;
tallycell响应量计数栅元,响应量为功率和通量时使用,可以输入多个栅元展开式(即考虑多个栅元的响应量计数总和),层级输 入格式和celltally中一致,该选项卡可以缺省,缺省时表示模型中所有栅元都是响应量计数栅元;
tallycellfilter响应量计数栅元过滤器,与计数器中的 filter 卡使用方式相同;
matnameid材料名称编号,仅材料密度微扰使用,用于计算材料温度系数,即响应物理量对材料温度的敏感性系数(只考虑温度对材料密度的 影响进而对响应物理量产生扰动),1-纯水、2-重水、3-含硼水、4-固态金属铍、5-固态氧化铍,默认值为空。若用户输入的是1、2、3,且没 有使用gramdenpoly输入卡,则还必须使用pressure输入卡给出材料的压强。
注意:用户在使用matnameid时表示对整个材料进行扰动,因此nuclide输入卡应该包含扰动材料的中的所有核素,否则程序会报错。同时在使用 matnameid输入卡时程序也会对material输入卡进行检查,以保证用户输入的材料名称与扰动材料中核素组成是自洽的(如含硼水中不允许包含除 H、O、B之外的核素),但是这种检查只是必要性检查而非充分性检查,用户需要对两者的自洽性负责,否则计算出的材料温度系数很可能不准确。
gramdenpoly材料密度与温度的多项式关系式系数,需要与matnameid卡一起使用,用户若要指定密度与温度的多项式关系为 \(\rho(g/cm^3)=aT^4+bT^3+cT^2+dT(K)+e\) ,则该输入卡应该输入gramdenpoly = e d c b a , 用户最多可输入五个参数, 即多项式最高阶数为4阶。如果用户输入了该输入卡,则程序会根据上述多项式计算材料密度对温度的导数,然后将材料密度系数转化为材料温度系数。 否则,对于纯水、重水,程序使用第三方库CoolProp计算一定压强和密度下材料密度对温度的一二阶导数;对于硼水,RMC会根据硼浓度和水的物性 计算其密度对温度的一二阶导数;对于Be,RMC根据公式:
\[\rho(kg/m^3) = 1869.84 -0.07168\ T(K) - 1.6151E-5\ T^2\]计算其密度对温度的一、二阶导数;对于BeO,RMC根据公式:
\[\begin{split}\rho(kg/m^3) = &2870 - 4.419513\times 10^{-2}\ t(^{\circ}C) - 4.00365\times 10^{-5}\ t^2 + \\ &1.325079\times 10^{-9}\ t^3 + 3.117681\times 10^{-12}\ t^4\end{split}\]计算其密度对温度的一二阶导数。
pressure材料所处压强值,单位为MPa,默认值为15.5。需要与matnameid卡一起使用,只有matnameid卡中输入的值为1、2或3,且没有 使用gramdenpoly卡时才需要使用该输入卡。
16.2. 材料密度微扰和温度微扰模块输入示例¶
PERTURBATION
DifferentialOperator 1 cell = 21 > 4 > 0 > 60
perbcellfilter = 1 1 0 1
material = 1
variable = 2
sourceperb = 1
DifferentialOperator 2 cell = 21 > 4 > 0 > 60
perbcellfilter = 1 1 0 1
material = 1
variable = 2
sourceperb = 1
response = 3
tallycell = 28
DifferentialOperator 3 cell = 21 > 2 > 0 > 70 21 > 2 > 0 > 80
perbcellfilter = 1 1 0 1
material = 2 3
variable = 2
sourceperb = 1
DifferentialOperator 4 cell = 21 > 2 > 0 > 70 21 > 2 > 0 > 80
perbcellfilter = 1 1 0 1
material = 2 3
variable = 2
sourceperb = 1
response = 3
tallycell = 28
DifferentialOperator 5 cell = 21 > 3 > 0 > 70 21 > 3 > 0 > 80
perbcellfilter = 1 1 0 1
material = 2 3
variable = 2
sourceperb = 1
DifferentialOperator 6 cell = 21 > 3 > 0 > 70 21 > 3 > 0 > 80
perbcellfilter = 1 1 0 1
material = 2 3
variable = 2
sourceperb = 1
response = 3
tallycell = 28