7. 低功率物理实验¶
低功率物理实验的模拟计算,即 low_power_physic_tests 对象,是用来定义低功率物理实验计算相关内容的,包含临界实验、 温度系数、控制棒价值等计算。
理论上通过CRANE的单个状态点计算功能,你就可以通过定义多个问题来模拟低功率物理实验,如温度系数可以通过定义两个温度不同、 其余输入都完全一样的模型分别计算出有效增值因子再编辑出温度系数。
但是这样一方面会有很多重复输入,另一方面由于需要重复进行几何处理及初始化、无法利用上一状态点的通量分布作为初始值等原因使得计算效率较低。 因此CRANE为用户提供了一些序列计算功能,低功率物理实验就是其中之一。
Note
目前CRANE版本的序列计算功能仅支持低功率物理实验,未来会开放更多序列计算功能。
低功率物理实验计算分为以下四种:
临界实验计算,通过 criticals 定义,这是一系列临界状态点计算,每个状态点的都应该是临界状态, 即测量的keff等于1.0;
温度系数计算,通过 temperature_coefficients 定义,可计算
ITC, MTC, FTC
三种类型的温度系数;控制棒组价值计算,通过 control_rod_worths 定义,可计算不同状态下的各组控制棒价值。
控制棒组价值曲线计算,通过 control_rod_worths_curve 定义,可计算不同状态下的各组控制棒价值曲线。
7.1. 临界实验计算¶
临界实验计算通过 criticals 定义,实际上是一系列单点计算,只是每个状态点的都应该是临界状态,keff的测量值等于1.0。 每个临界实验状态点通过 critical 对象 定义。
以下是 VERA_5 基准题中的临界实验计算输入(对应为case1-case10):
low_power_physic_tests:
criticals:
- {description: Initial, boron_concentration: 1285, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 230, 167, 230, 230, 230, 230]}
- {description: ARO , boron_concentration: 1291, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 230, 230, 230, 230, 230, 230]}
- {description: bank_A , boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [ 0, 230, 230, 97, 230, 230, 230, 230]}
- {description: bank_B , boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 0, 230, 113, 230, 230, 230, 230]}
- {description: bank_C , boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 0, 119, 230, 230, 230, 230]}
- {description: bank_D , boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 230, 18, 230, 230, 230, 230]}
- {description: bank_SA, boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 230, 69, 0, 230, 230, 230]}
- {description: bank_SB, boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 230, 134, 230, 0, 230, 230]}
- {description: bank_SC, boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 230, 71, 230, 230, 0, 230]}
- {description: bank_SD, boron_concentration: 1170, moderator_temperature: 565, fuel_temperature: 565, control_rod_position: [230, 230, 230, 71, 230, 230, 230, 0]}
这里定义了10个临界状态点,每个状态点都输入了硼浓度、慢化剂温度、燃料温度和控制棒棒位。
Note
这里只要设置 state 对象 中的 inlet_temperature 为565,则上面的慢化剂温度和燃料温度就可以缺省。
7.2. 温度系数计算¶
温度系数计算通过 temperature_coefficients 定义,每个温度系数的计算参数通过单个 temperature_coefficient 对象
定义,CRANE支持等温温度系数、慢化剂温度系数和燃料温度系数三种温度系数计算,对应的 type 分别为 ITC, MTC, FTC
。
温度系数计算的温度变化范围由 delta_temperature 控制, 默认为基准题温度上加减2K。
以下是 VERA_5 基准题的温度系数计算输入:
low_power_physic_tests:
temperature_coefficients:
- {description: ARO_ITC, boron_concentration: 1291, types: [ITC], delta_temperature: 5, control_rod_position: [230, 230, 230, 230, 230, 230, 230, 230]}
这里只计算了ARO且硼浓度为1291ppm下的等温温度系数,是通过基准温度565K下加减5K来计算获得的。
Note
该问题中的 inlet_temperature 必须为565K,这样加减5K正好是560K和570K。
7.3. 控制棒组价值计算¶
控制棒组价值(积分价值)计算通过 control_rod_worths 定义,默认情况下,控制棒价值计算首先会在初始状态点(ARO) 下搜索临界硼浓度,然后在该临界硼浓度下根据每个 control_rod_worth 对象 (插棒状态)下计算获得keff并编辑出该棒组的棒价值。
如以下是 BEAVRS_C2 基准题的控制棒组价值计算输入:
low_power_physic_tests:
control_rod_worths:
- {tag: D, control_rod_position: [228, 228, 228, 0, 228, 228, 228, 228, 228]}
- {tag: C, control_rod_position: [228, 228, 0, 228, 228, 228, 228, 228, 228]}
- {tag: B, control_rod_position: [228, 0, 228, 228, 228, 228, 228, 228, 228]}
- {tag: A, control_rod_position: [ 0, 228, 228, 228, 228, 228, 228, 228, 228]}
- {tag: SE, control_rod_position: [228, 228, 228, 228, 228, 228, 228, 228, 0]}
- {tag: SD, control_rod_position: [228, 228, 228, 228, 228, 228, 228, 0, 228]}
- {tag: SC, control_rod_position: [228, 228, 228, 228, 228, 228, 0, 228, 228]}
- {tag: SB, control_rod_position: [228, 228, 228, 228, 228, 0, 228, 228, 228]}
- {tag: SA, control_rod_position: [228, 228, 228, 228, 0, 228, 228, 228, 228]}
这里初始状态(在 control_rod 中设置)是ARO的,首先计算该状态点下的临界硼浓度,
再分别计算这里的 9
个插棒状态下的keff来最终获得棒价值,所以一共是计算 10
个状态点。
另外,你也可以通过将 name 设置成 ARO
来定义ARO状态点的参数,而不是采用默认情况。
如以下是 VERA_5 基准题的控制组价值计算输入:
low_power_physic_tests:
control_rod_worths:
- {tag: ARO, control_rod_position: [230, 230, 230, 230, 230, 230, 230, 230], boron_concentration: 1170}
- {tag: Bank_A, control_rod_position: [ 0, 230, 230, 230, 230, 230, 230, 230]}
- {tag: Bank_B, control_rod_position: [230, 0, 230, 230, 230, 230, 230, 230]}
- {tag: Bank_C, control_rod_position: [230, 230, 0, 230, 230, 230, 230, 230]}
- {tag: Bank_D, control_rod_position: [230, 230, 230, 0, 230, 230, 230, 230]}
- {tag: Bank_SA, control_rod_position: [230, 230, 230, 230, 0, 230, 230, 230]}
- {tag: Bank_SB, control_rod_position: [230, 230, 230, 230, 230, 0, 230, 230]}
- {tag: Bank_SC, control_rod_position: [230, 230, 230, 230, 230, 230, 0, 230]}
- {tag: Bank_SD, control_rod_position: [230, 230, 230, 230, 230, 230, 230, 0]}
这里ARO状态点下的硼浓度直接输入为1170ppm,而不进行临界硼搜索,后续所有插棒状态点的硼浓度都会沿用该ARO状态点下的硼浓度。
如果要进行更为任意的棒价值计算,如有些棒价值是其他棒插入情况下获得的,如 BEAVRS_C1 基准题中的控制棒组价值计算:
low_power_physic_tests:
control_rod_worths:
- {tag: D, control_rod_position: [228, 228, 228, 0, 228, 228, 228, 228, 228]}
- {tag: C_Din, control_rod_position: [228, 228, 228, 0, 228, 228, 228, 228, 228]}
- {tag: C_Din, control_rod_position: [228, 228, 0, 0, 228, 228, 228, 228, 228]}
- {tag: B_DCin, control_rod_position: [228, 228, 0, 0, 228, 228, 228, 228, 228]}
- {tag: B_DCin, control_rod_position: [228, 0, 0, 0, 228, 228, 228, 228, 228]}
- {tag: A_DCBin, control_rod_position: [228, 0, 0, 0, 228, 228, 228, 228, 228]}
- {tag: A_DCBin, control_rod_position: [ 0, 0, 0, 0, 228, 228, 228, 228, 228]}
- {tag: SE_DCBAin, control_rod_position: [ 0, 0, 0, 0, 228, 228, 228, 228, 228]}
- {tag: SE_DCBAin, control_rod_position: [ 0, 0, 0, 0, 228, 228, 228, 228, 0]}
- {tag: SD_DCBASEin, control_rod_position: [ 0, 0, 0, 0, 228, 228, 228, 228, 0]}
- {tag: SD_DCBASEin, control_rod_position: [ 0, 0, 0, 0, 228, 228, 228, 0, 0]}
- {tag: SC_DCBASESDin, control_rod_position: [ 0, 0, 0, 0, 228, 228, 228, 0, 0]}
- {tag: SC_DCBASESDin, control_rod_position: [ 0, 0, 0, 0, 228, 228, 0, 0, 0]}
在控制棒价值计算中如果发现有同样的两个 name ,CRANE会认为这两个状态点依次为未插棒与插棒状态, 而不是以初始ARO状态点作为未插棒状态,因此这里就是计算的是C棒组在D棒组全插下的价值,B棒组在C、D棒组全插下的价值,依次类推。
7.4. 控制棒组价值曲线计算¶
控制棒组价值曲线(微分价值)计算通过 control_rod_worths_curve 定义, 控制棒价值曲线计算通过用户输入的步长等信息自动构建一些列状态点来模拟插棒过程,然后在不同棒位下计算获得keff并编辑出该棒组的棒价值曲线。
如以下是 VERA_5 基准题的对D棒组的价值曲线计算输入:
low_power_physic_tests:
control_rod_worths_curve:
- {bank: D, step_size: 23, boron_concentration: 1230}
这里步长 crwc_step_size 设置为 23,硼浓度 boron_concentration 设置为 1230 ppm。
Note
若这里不输入硼浓度,则会在棒全提时进行临界硼搜索,后续插棒状态点采用该硼浓度进行计算。