feat: link turbine output to transferred heat

This commit is contained in:
Andrii Prokhorov
2025-11-21 18:15:11 +02:00
parent 4873777ba8
commit 5c0ad3fb72
4 changed files with 23 additions and 12 deletions

View File

@@ -34,10 +34,12 @@ class Turbine:
loop: CoolantLoopState,
state: TurbineState,
consumer: Optional[ElectricalConsumer] = None,
steam_power_mw: float = 0.0,
) -> None:
enthalpy = 2_700.0 + loop.steam_quality * 600.0
mass_flow = loop.mass_flow_rate * 0.6
shaft_power_mw = (enthalpy * mass_flow / 1_000.0) * self.mechanical_efficiency / 1_000.0
available_power = max(steam_power_mw, (enthalpy * mass_flow / 1_000.0) / 1_000.0)
shaft_power_mw = available_power * self.mechanical_efficiency
electrical = shaft_power_mw * self.generator_efficiency
if consumer:
load_demand = consumer.request_power()