From 0886c9d26eb5c5fb5236a28d9d4c2c3beb8cb344 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Sun, 23 Nov 2025 19:54:59 +0100 Subject: [PATCH] Scale pump power to available aux supply --- src/reactor_sim/reactor.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/reactor_sim/reactor.py b/src/reactor_sim/reactor.py index 161f474..5b0bd8b 100644 --- a/src/reactor_sim/reactor.py +++ b/src/reactor_sim/reactor.py @@ -252,15 +252,16 @@ class Reactor: turbine_electrical = state.total_electrical_output() generator_power = self._step_generators(state, aux_demand, turbine_electrical, dt) aux_available = turbine_electrical + generator_power - power_ratio = 1.0 if aux_demand <= 0 else 1.0 - if aux_demand > 0 and aux_available < 0.5 * aux_demand: + supplied = aux_available if aux_demand <= 0 else min(aux_available, aux_demand) + power_ratio = 1.0 if aux_demand <= 0 else min(1.0, supplied / max(1e-6, aux_demand)) + if aux_demand > 0 and aux_available < 0.99 * aux_demand: LOGGER.warning("Aux power deficit: available %.1f/%.1f MW", aux_available, aux_demand) state.aux_draws = { "base": aux_base * power_ratio, "primary_pumps": aux_pump_primary * power_ratio, "secondary_pumps": aux_pump_secondary * power_ratio, "total_demand": aux_demand, - "supplied": aux_available, + "supplied": supplied, "generator_output": generator_power, "turbine_output": turbine_electrical, }