PartialPump

Base model for centrifugal pumps

Diagram

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

This is the base model for pumps.

The model describes a centrifugal pump, or a group of nParallel identical pumps. The pump model is based on the theory of kinematic similarity: the pump characteristics are given for nominal operating conditions (rotational speed and fluid density), and then adapted to actual operating condition, according to the similarity equations.

Pump characteristics

The nominal hydraulic characteristic (head vs. volume flow rate) is given by the replaceable function flowCharacteristic.

The pump energy balance can be specified in two alternative ways:

  • use_powerCharacteristic = false (default option): the replaceable function efficiencyCharacteristic (efficiency vs. volume flow rate in nominal conditions) is used to determine the efficiency, and then the power consumption. The default is a constant efficiency of 0.8.
  • use_powerCharacteristic = true: the replaceable function powerCharacteristic (power consumption vs. volume flow rate in nominal conditions) is used to determine the power consumption, and then the efficiency. Use powerCharacteristic to specify a non-zero power consumption for zero flow rate.

Several functions are provided in the package PumpCharacteristics to specify the characteristics as a function of some operating points at nominal conditions.

Depending on the value of the checkValve parameter, the model either supports reverse flow conditions, or includes a built-in check valve to avoid flow reversal.

It is possible to take into account the mass and energy storage of the fluid inside the pump by specifying its volume V, and by selecting appropriate dynamic mass and energy balance assumptions (see below); this is recommended to avoid singularities in the computation of the outlet enthalpy in case of zero flow rate. If zero flow rate conditions are always avoided, this dynamic effect can be neglected by leaving the default value V = 0, thus avoiding fast state variables in the model.

Dynamics options

Steady-state mass and energy balances are assumed per default, neglecting the holdup of fluid in the pump; this configuration works well if the flow rate is always positive. Dynamic mass and energy balance can be used by setting the corresponding dynamic parameters. This is recommended to avoid singularities at zero or reversing mass flow rate. If the initial conditions imply non-zero mass flow rate, it is possible to use the SteadyStateInitial condition, otherwise it is recommended to use FixedInitial in order to avoid undetermined initial conditions.

Heat transfer

The Boolean parameter use_HeatTransfer can be set to true if heat exchanged with the environment should be taken into account or to model a housing. This might be desirable if a pump with realistic powerCharacteristic for zero flow operates while a valve prevents fluid flow.

Diagnostics of Cavitation

The replaceable Monitoring submodel can be configured to PumpMonitoringNPSH, in order to compute the Net Positive Suction Head available and check for cavitation, provided a two-phase medium model is used (see Advanced tab).

Parameters (25)

allowFlowReversal

Value: system.allowFlowReversal

Type: Boolean

Description: = true to allow flow reversal, false restricts to design direction (port_a -> port_b)

energyDynamics

Value: Types.Dynamics.SteadyState

Type: Dynamics

Description: Formulation of energy balance

massDynamics

Value: Types.Dynamics.SteadyState

Type: Dynamics

Description: Formulation of mass balance

substanceDynamics

Value: massDynamics

Type: Dynamics

Description: Formulation of substance balance

traceDynamics

Value: massDynamics

Type: Dynamics

Description: Formulation of trace substance balance

p_start

Value: p_b_start

Type: AbsolutePressure (Pa)

Description: Start value of pressure

use_T_start

Value: true

Type: Boolean

Description: = true, use T_start, otherwise h_start

T_start

Value: if use_T_start then system.T_start else Medium.temperature_phX(p_start, h_start, X_start)

Type: Temperature (K)

Description: Start value of temperature

h_start

Value: if use_T_start then Medium.specificEnthalpy_pTX(p_start, T_start, X_start) else Medium.h_default

Type: SpecificEnthalpy (J/kg)

Description: Start value of specific enthalpy

X_start

Value: Medium.X_default

Type: MassFraction[Medium.nX] (kg/kg)

Description: Start value of mass fractions m_i/m

C_start

Value: Medium.C_default

Type: ExtraProperty[Medium.nC]

Description: Start value of trace substances

p_a_start

Value: system.p_start

Type: AbsolutePressure (Pa)

Description: Guess value for inlet pressure

p_b_start

Value: p_a_start

Type: AbsolutePressure (Pa)

Description: Guess value for outlet pressure

m_flow_start

Value: system.m_flow_start

Type: MassFlowRate (kg/s)

Description: Guess value of m_flow = port_a.m_flow

checkValveHomotopy

Value: Types.CheckValveHomotopyType.NoHomotopy

Type: CheckValveHomotopyType

Description: = whether the valve is Closed, Open, or unknown at initialization

V_flow_single_init

Value: m_flow_start / rho_nominal / nParallel

Type: VolumeFlowRate (m³/s)

Description: Used for simplified initialization model

delta_head_init

Value: flowCharacteristic(V_flow_single_init * 1.1) - flowCharacteristic(V_flow_single_init)

Type: Position (m)

Description: Delta head for a 10% increase of flow at the initialization point

nParallel

Value: 1

Type: Integer

Description: Number of pumps in parallel

N_nominal

Value:

Type: AngularVelocity_rpm (rev/min)

Description: Nominal rotational speed for flow characteristic

rho_nominal

Value: Medium.density_pTX(Medium.p_default, Medium.T_default, Medium.X_default)

Type: Density (kg/m³)

Description: Nominal fluid density for characteristic

use_powerCharacteristic

Value: false

Type: Boolean

Description: Use powerCharacteristic (vs. efficiencyCharacteristic)

checkValve

Value: false

Type: Boolean

Description: = true to prevent reverse flow

V

Value: 0

Type: Volume (m³)

Description: Volume inside the pump

use_HeatTransfer

Value: false

Type: Boolean

Description: = true to use a HeatTransfer model, e.g., for a housing

g

Value: system.g

Type: Acceleration (m/s²)

Description: Constant gravity acceleration

Inputs (1)

fluidVolume

Default Value: V

Type: Volume (m³)

Description: Volume

Connectors (3)

port_a

Type: FluidPort_a

Description: Fluid connector a (positive design flow direction is from port_a to port_b)

port_b

Type: FluidPort_b

Description: Fluid connector b (positive design flow direction is from port_a to port_b)

heatPort

Type: HeatPort_a

Components (4)

system

Type: System

Description: System properties

medium

Type: BaseProperties

heatTransfer

Type: HeatTransfer

monitoring

Type: Monitoring

Description: Monitoring model

Extended by (3)

PrescribedPump

Modelica.Fluid.Machines

Centrifugal pump with ideally controlled speed

ControlledPump

Modelica.Fluid.Machines

Centrifugal pump with ideally controlled mass flow rate

Pump

Modelica.Fluid.Machines

Centrifugal pump with mechanical connector for the shaft