diff --git a/src/reactor_sim/constants.py b/src/reactor_sim/constants.py index e540c29..b223904 100644 --- a/src/reactor_sim/constants.py +++ b/src/reactor_sim/constants.py @@ -29,6 +29,8 @@ NORMAL_CORE_POWER_MW = 3_000.0 TEST_MAX_POWER_MW = 4_000.0 PRIMARY_OUTLET_TARGET_K = 580.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. KEY_POISON_THRESHOLDS = { "Xe": 1e20, # xenon diff --git a/src/reactor_sim/reactor.py b/src/reactor_sim/reactor.py index 0749e54..941dc7a 100644 --- a/src/reactor_sim/reactor.py +++ b/src/reactor_sim/reactor.py @@ -230,7 +230,9 @@ class Reactor: if self.primary_pump_active: 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 target_flow = self.primary_pump.flow_rate(pump_demand) * power_ratio 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" if self.secondary_pump_active: 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 target_flow = self.secondary_pump.flow_rate(0.75) * power_ratio for idx, pump_state in enumerate(state.secondary_pumps):