From bcd1eec84fa9d4ed4db18b1b7e491169cf4e0828 Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Sat, 22 Nov 2025 22:44:00 +0100 Subject: [PATCH] Balance generator load sharing --- src/reactor_sim/reactor.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/reactor_sim/reactor.py b/src/reactor_sim/reactor.py index 333496f..05fbb1e 100644 --- a/src/reactor_sim/reactor.py +++ b/src/reactor_sim/reactor.py @@ -562,8 +562,10 @@ class Reactor: total_power = 0.0 remaining = max(0.0, aux_demand - turbine_electric) + active_indices = [idx for idx, g in enumerate(state.generators) if g.running or g.starting] + share = remaining / len(active_indices) if active_indices and remaining > 0 else 0.0 for idx, gen_state in enumerate(state.generators): - load = remaining if remaining > 0 else 0.0 + load = share if idx in active_indices else 0.0 delivered = self.generators[idx].step(gen_state, load, dt) total_power += delivered remaining = max(0.0, remaining - delivered)