1111)
1212from libecalc .domain .process .pump .pump import PumpModel
1313from libecalc .domain .time_series_flow_rate import TimeSeriesFlowRate
14+ from libecalc .domain .time_series_fluid_density import TimeSeriesFluidDensity
1415from libecalc .domain .time_series_pressure import TimeSeriesPressure
1516from libecalc .expression import Expression
1617
@@ -21,10 +22,10 @@ class PumpConsumerFunction(ConsumerFunction):
2122
2223 Args:
2324 pump_function: The pump model
25+ fluid_density (TimeSeriesFluidDensity): Fluid density time series [kg/m3]
2426 rate (TimeSeriesFlowRate): Flow rate time series [Sm3/h].
2527 suction_pressure (TimeSeriesPressure): Suction pressure time series [bara].
2628 discharge_pressure (TimeSeriesPressure): Discharge pressure time series [bara].
27- fluid_density_expression: Fluid density expression [kg/m3]
2829 power_loss_factor_expression: Optional power loss factor expression.
2930 Typically used for power line loss subsea et.c.
3031 """
@@ -35,14 +36,14 @@ def __init__(
3536 rate : TimeSeriesFlowRate ,
3637 suction_pressure : TimeSeriesPressure ,
3738 discharge_pressure : TimeSeriesPressure ,
38- fluid_density_expression : Expression ,
39+ fluid_density : TimeSeriesFluidDensity ,
3940 power_loss_factor_expression : Expression = None ,
4041 ):
4142 self ._pump_function = pump_function
4243 self ._rate = rate
44+ self ._fluid_density = fluid_density
4345 self ._suction_pressure = suction_pressure
4446 self ._discharge_pressure = discharge_pressure
45- self ._fluid_density_expression = fluid_density_expression
4647
4748 # Typically used for power line loss subsea et.c.
4849 self ._power_loss_factor_expression = power_loss_factor_expression
@@ -64,14 +65,12 @@ def evaluate(
6465
6566 stream_day_rate = self ._rate .get_stream_day_values ()
6667
67- fluid_density = expression_evaluator .evaluate (expression = self ._fluid_density_expression )
68-
6968 # Do not input regularity to pump function. Handled outside
7069 energy_function_result = self ._pump_function .evaluate_rate_ps_pd_density (
7170 rate = np .asarray (stream_day_rate , dtype = np .float64 ),
7271 suction_pressures = np .asarray (self ._suction_pressure .get_values (), dtype = np .float64 ),
7372 discharge_pressures = np .asarray (self ._discharge_pressure .get_values (), dtype = np .float64 ),
74- fluid_density = np .asarray (fluid_density , dtype = np .float64 ),
73+ fluid_density = np .asarray (self . _fluid_density . get_values () , dtype = np .float64 ),
7574 )
7675
7776 power_loss_factor = get_power_loss_factor_from_expression (
0 commit comments