Equipment
Pumps
Total head
- indsl.equipment.total_head(discharge_pressure: Union[Series, float], suction_pressure: Union[Series, float], den: Union[Series, float], align_timesteps: bool = False) Series
Total head
Head is a measure of the potential of a liquid to reach a certain height. The head is essentially a unit of pressure. The total head is the difference in pressure of the discharge to the suction of the pump.he formula for total head \(h\) [m] given inputs discharge pressure \(P_{discharge}\) [Pa], suction pressure \(P_{suction}\) [Pa] and liquid density \(\rho_L\:[\frac{kg}{m^3}]\).
\[h = \frac{P_{discharge} - P_{suction}}{9.81\rho_L}\]- Parameters
discharge_pressure – Discharge pressure [Pa]. Discharge pressure of a centrifugal pump.
suction_pressure – Suction pressure [Pa]. Suction pressure of a centrifugal pump.
den – Density of the fluid [\(\mathrm{\frac{kg}{m^3}}\)].
align_timesteps – Auto-align. Automatically align time stamp of input time series. Default is False.
- Returns
- Total head [m]
Difference in total discharge head and the total suction head.
- Return type
pandas.Series
Best Efficiency Point (BEP) from flowrate
- indsl.equipment.percent_BEP_flowrate(pump_liquid_flowrate: Union[Series, float], BEP_flowrate: Union[Series, float], align_timesteps: bool = False) Series
BEP from flowrate [%]
Centrifugal pumps operate optimally at a specific liquid flowrate which is typically called the Best Efficiency Point (BEP). This function calculates the flowrate relative to BEP as a percentage. i.e. 100% means the current flowrate is at the BEP, 110% means the current flowrate is 10% above BEP. The formula for this equation is:
\[BEP\:from\:flowrate\:[\%]=\frac{Pump\:liquid\:flowrate} {BEP}*100\]- Parameters
pump_liquid_flowrate – Pump liquid flowrate [\(\mathrm{\frac{m^3}{s}}\)]. The current flowrate of the pump.
BEP_flowrate – Best efficiency point [-]. The best efficiency flowrate point of the pump.
align_timesteps – Auto-align. Automatically align time stamp of input time series. Default is False.
- Returns
- BEP to current flowrate [%].
Percentage of current flowrate to BEP
- Return type
pandas.Series
Hydraulic power
- indsl.equipment.pump_hydraulic_power(pump_liquid_flowrate: Union[Series, float], total_head: Union[Series, float], den: Union[Series, float], align_timesteps: bool = False) Series
Pump hydraulic power
Pump hydraulic power [W] is the amount of energy per unit time delivered to the liquid. Pump hydraulic power can be calculated if the pump liquid flowrate \(Q_L\:[\frac{m^3}{s}]\), total head across the pump \(h\) [m], and density of the fluid \(\rho_L\:[\frac{kg}{m^3}]\).
\[Pump\:hydraulic\:power=9.81Q_L\rho_Lh\]- Parameters
pump_liquid_flowrate – Pump liquid flowrate [\(\mathrm{\frac{m^3}{s}}\)]. The current flowrate of the pump.
total_head – Total head across pump [m]. Difference in pressure between discharge and suction of pump.
den – Density of the fluid [\(\mathrm{\frac{kg}{m^3}}\)].
align_timesteps – Auto-align. Automatically align time stamp of input time series. Default is False.
- Returns
- Pump hydraulic power [W].
Pump hydraulic power of pump.
- Return type
pandas.Series
Shaft power
- indsl.equipment.pump_shaft_power(pump_hydraulic_power: Union[Series, float], pump_liquid_flowrate: Union[Series, float], eff_parameter_1: Union[Series, float], eff_parameter_2: Union[Series, float], eff_intercept: Union[Series, float], align_timesteps: bool = False) Series
Pump shaft power
Pump shaft power is the input power delivered by the shaft. Pump shaft power can be calculated by dividing the pump hydraulic hp by the pump efficiency. Pump efficiency is a function of liquid flowrate \(\eta(Q_L)\). The pump efficiency curve as a function of liquid flowrate is assumed to be a 2nd order polynomial. Therefore the input parameters of the curve are coefficients to \(x^2\) and \(x\) and the \(y\) intercept of the curve.
\[Pump\:shaft\:power=\frac{Pump\:hydraulic\:power}{\eta(Q_L)}\]- Parameters
pump_hydraulic_power – Pump hydraulic power [W].
pump_liquid_flowrate – Pump liquid flowrate [\(\mathrm{\frac{m^3}{h}}\)]. The current flowrate of the pump.
eff_parameter_1 – \(x^2\) coefficient [-]. Coefficient of \(x^2\).
eff_parameter_2 – \(x\) coefficient [-]. Coefficient of \(x\).
eff_intercept – \(y\)-intercept [-]. Coefficient of \(y\)-intercept of curve
align_timesteps – Auto-align. Automatically align time stamp of input time series. Default is False.
- Returns
- Pump shaft power [W]
Pump shaft power of pump.
- Return type
pandas.Series
Recycle valve power loss
- indsl.equipment.recycle_valve_power_loss(Q_valve: Union[Series, float], total_head: Union[Series, float], den: Union[Series, float], align_timestamps: bool = False) Series
Pump recycle valve power loss
This calculation can be used where there is a recirculation line with a recycle valve whose purpose is to maintain a minimum flow through the pump. The calculation does not take into account the difference in pump efficiency at different flow rates. This is acceptable because pumps are usually sized to take into account extra flow due to recirculation.
\[Power\:loss=9.81Q_{valve}\rho_Lh\]- Parameters
Q_valve – Valve flow rate [\(\mathrm{\frac{m^3}{h}}\)]. Flow rate through the recycle valve.
total_head – Pump total head [m].
den – Density of the fluid [\(\mathrm{\frac{kg}{m^3}}\)].
align_timestamps – Auto-align. Automatically align time stamp of input time series. Defaults to False.
- Returns
- Power loss [W].
Power loss by recirculation though the pump.
- Return type
pd.Series
Examples:
Volumetric flow through valve
- indsl.equipment.flow_through_valve(inlet_P: Union[Series, float], outlet_P: Union[Series, float], valve_opening: Union[Series, float], SG: float, min_opening: float, max_opening: float, min_Cv: float, max_Cv: float, type: Literal['Linear', 'EQ'] = 'Linear', align_timestamps: bool = False) Series
Valve volumetric flow rate
This calculation can be used when there is no flow meter, but the pressure difference over the valve is known. The calculated flow rate is only exactly applicable for ideal fluids (incompressible and with zero viscosity). The availible valve characteristics are
Linear: \(C_v = ax + b\).
Equal percentage: \(C_v = ae^x + b\).
The formula for the flow rate is
\[Q = C_v \sqrt{\frac{p_{in} - p_{out}}{SG}}.\]- Parameters
inlet_P – Pressure at inlet [bar].
outlet_P – Pressure at outlet [bar].
valve_opening – Valve opening [-]. Note that this is the proportional and not percentage valve opening.
SG – Specific gravity of fluid [-].
min_opening – Min opening [-]. Valve opening at minimum flow.
max_opening – Max opening [-]. Valve opening at maximum flow.
min_Cv – Min \(C_v\) [\(\mathrm{\frac{gpm}{psi^{0.5}}}\)]. Valve \(C_v\) at minimum flow. Note that the flow coefficient should be expressed in imperial units.
max_Cv – Max \(C_v\) [\(\mathrm{\frac{gpm}{psi^{0.5}}}\)]. Valve \(C_v\) at maximum flow. Note that the flow coefficient should be expressed in imperial units.
type – Valve characteristic. Valve characteristic, either “Linear” or “EQ” (equal percentage). Default is “Linear”.
align_timestamps – Auto-align. Automatically align time stamp of input time series. Default is False.
- Raises
ValueError – If the valve characteristic is not recognized.
- Returns
Valve flow rate [m3/h].
- Return type
pd.Series
Examples: