Balance generator load sharing
This commit is contained in:
@@ -562,8 +562,10 @@ class Reactor:
|
|||||||
|
|
||||||
total_power = 0.0
|
total_power = 0.0
|
||||||
remaining = max(0.0, aux_demand - turbine_electric)
|
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):
|
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)
|
delivered = self.generators[idx].step(gen_state, load, dt)
|
||||||
total_power += delivered
|
total_power += delivered
|
||||||
remaining = max(0.0, remaining - delivered)
|
remaining = max(0.0, remaining - delivered)
|
||||||
|
|||||||
Reference in New Issue
Block a user