From 8c2c786f93f0cec9cebb92ee02ac94080b7becb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Petter=20L=C3=B8d=C3=B8en?= Date: Thu, 23 Nov 2023 11:53:48 +0100 Subject: [PATCH] fix: bug in compressor with turbine models with multiple streams and only one date (#296) --- .../compressor_consumer_function.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/libecalc/core/consumers/legacy_consumer/consumer_function/compressor_consumer_function.py b/src/libecalc/core/consumers/legacy_consumer/consumer_function/compressor_consumer_function.py index a456cb8a9e..3ca7fdb9ff 100644 --- a/src/libecalc/core/consumers/legacy_consumer/consumer_function/compressor_consumer_function.py +++ b/src/libecalc/core/consumers/legacy_consumer/consumer_function/compressor_consumer_function.py @@ -13,7 +13,10 @@ get_condition_from_expression, get_power_loss_factor_from_expression, ) -from libecalc.core.models.compressor.base import CompressorModel +from libecalc.core.models.compressor.base import ( + CompressorModel, + CompressorWithTurbineModel, +) from libecalc.core.models.compressor.train.variable_speed_compressor_train_common_shaft_multiple_streams_and_pressures import ( VariableSpeedCompressorTrainCommonShaftMultipleStreamsAndPressures, ) @@ -74,8 +77,13 @@ def evaluate( ] ) # Squeeze to remove axes of length one -> non-multiple streams will be 1d and not 2d. - # But we don't want to squeeze multiple streams model with only one date - if isinstance(self._compressor_function, VariableSpeedCompressorTrainCommonShaftMultipleStreamsAndPressures): + # But we don't want to squeeze multiple streams model with only one date. + # That goes for CompressorWithTurbineModel with a MultipleStreamsAndPressures-train as well + if isinstance(self._compressor_function, CompressorWithTurbineModel): + compressor_model = self._compressor_function.compressor_model + else: + compressor_model = self._compressor_function + if isinstance(compressor_model, VariableSpeedCompressorTrainCommonShaftMultipleStreamsAndPressures): stream_day_rate = Rates.to_stream_day( calendar_day_rates=calendar_day_rates, regularity=regularity,