Balance generator load sharing

This commit is contained in:
Codex Agent
2025-11-22 22:44:00 +01:00
parent 79f98faeeb
commit bcd1eec84f

View File

@@ -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)