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

@@ -14,6 +14,7 @@ class ElectricalConsumer:
demand_mw: float
online: bool = False
power_received_mw: float = 0.0
_under_supply_logged: bool = False
def request_power(self) -> float:
return self.demand_mw if self.online else 0.0
@@ -30,11 +31,16 @@ class ElectricalConsumer:
def update_power_received(self, supplied_mw: float) -> None:
self.power_received_mw = supplied_mw
if supplied_mw < self.request_power():
LOGGER.warning(
"%s under-supplied: %.1f/%.1f MW",
self.name,
supplied_mw,
self.request_power(),
)
if supplied_mw + 1e-6 < self.request_power():
if not self._under_supply_logged:
LOGGER.warning(
"%s under-supplied: %.1f/%.1f MW",
self.name,
supplied_mw,
self.request_power(),
)
self._under_supply_logged = True
else:
if self._under_supply_logged:
LOGGER.info("%s demand satisfied", self.name)
self._under_supply_logged = False