Retarget pump pressures to RBMK-like nominal values

This commit is contained in:
Codex Agent
2025-11-22 23:49:15 +01:00
parent 64eed8a539
commit faf603d2c5
2 changed files with 8 additions and 2 deletions

View File

@@ -29,6 +29,8 @@ NORMAL_CORE_POWER_MW = 3_000.0
TEST_MAX_POWER_MW = 4_000.0 TEST_MAX_POWER_MW = 4_000.0
PRIMARY_OUTLET_TARGET_K = 580.0 PRIMARY_OUTLET_TARGET_K = 580.0
SECONDARY_OUTLET_TARGET_K = 520.0 SECONDARY_OUTLET_TARGET_K = 520.0
PRIMARY_NOMINAL_PRESSURE = 7.0 # MPa typical RBMK channel header pressure
SECONDARY_NOMINAL_PRESSURE = 7.0 # MPa steam drum/steam line pressure surrogate
# Threshold inventories (event counts) for flagging common poisons in diagnostics. # Threshold inventories (event counts) for flagging common poisons in diagnostics.
KEY_POISON_THRESHOLDS = { KEY_POISON_THRESHOLDS = {
"Xe": 1e20, # xenon "Xe": 1e20, # xenon

View File

@@ -230,7 +230,9 @@ class Reactor:
if self.primary_pump_active: if self.primary_pump_active:
total_flow = 0.0 total_flow = 0.0
target_pressure = (12.0 * pump_demand + 2.0) * power_ratio target_pressure = (
0.5 + (constants.PRIMARY_NOMINAL_PRESSURE - 0.5) * pump_demand
) * power_ratio
loop_pressure = 0.5 loop_pressure = 0.5
target_flow = self.primary_pump.flow_rate(pump_demand) * power_ratio target_flow = self.primary_pump.flow_rate(pump_demand) * power_ratio
for idx, pump_state in enumerate(state.primary_pumps): for idx, pump_state in enumerate(state.primary_pumps):
@@ -280,7 +282,9 @@ class Reactor:
pump_state.status = "STOPPING" if pump_state.flow_rate > 1.0 else "OFF" pump_state.status = "STOPPING" if pump_state.flow_rate > 1.0 else "OFF"
if self.secondary_pump_active: if self.secondary_pump_active:
total_flow = 0.0 total_flow = 0.0
target_pressure = 12.0 * 0.75 + 2.0 target_pressure = (
0.5 + (constants.SECONDARY_NOMINAL_PRESSURE - 0.5) * 0.75
) * power_ratio
loop_pressure = 0.5 loop_pressure = 0.5
target_flow = self.secondary_pump.flow_rate(0.75) * power_ratio target_flow = self.secondary_pump.flow_rate(0.75) * power_ratio
for idx, pump_state in enumerate(state.secondary_pumps): for idx, pump_state in enumerate(state.secondary_pumps):