modelPartialPump

Base model for centrifugal pumps

Extends from Modelica.Fluid.Interfaces.PartialTwoPort (Partial component with two ports), Modelica.Fluid.Interfaces.PartialLumpedVolume (Lumped volume with mass and energy balance).

Information

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

TypeNameDefaultDescription
SI.VolumeFlowRateV_flow_single_initm_flow_start/rho_nominal/nParallelUsed for simplified initialization model
SI.Positiondelta_head_initflowCharacteristic(V_flow_single_init*1.1) - flowCharacteristic(V_flow_single_init)Delta head for a 10% increase of flow at the initialization point
SI.Accelerationgsystem.gConstant gravity acceleration
Medium.MassFlowRateunit_m_flow1
Assumptions
BooleanallowFlowReversal (from PartialTwoPort)system.allowFlowReversal= true to allow flow reversal, false restricts to design direction (port_a -> port_b)
BooleancheckValvefalse= true to prevent reverse flow
SI.VolumeV0Volume inside the pump
Initialization
Medium.AbsolutePressurep_a_startsystem.p_startGuess value for inlet pressure
Medium.AbsolutePressurep_b_startp_a_startGuess value for outlet pressure
Medium.MassFlowRatem_flow_startsystem.m_flow_startGuess value of m_flow = port_a.m_flow
Types.CheckValveHomotopyTypecheckValveHomotopyTypes.CheckValveHomotopyType.NoHomotopy= whether the valve is Closed, Open, or unknown at initialization
Medium.AbsolutePressurep_start (from PartialLumpedVolume)system.p_startStart value of pressure
Booleanuse_T_start (from PartialLumpedVolume)true= true, use T_start, otherwise h_start
Medium.TemperatureT_start (from PartialLumpedVolume)if use_T_start then system.T_start else Medium.temperature_phX(p_start, h_start, X_start)Start value of temperature
Medium.SpecificEnthalpyh_start (from PartialLumpedVolume)if use_T_start then Medium.specificEnthalpy_pTX(p_start, T_start, X_start) else Medium.h_defaultStart value of specific enthalpy
Medium.MassFraction[Medium.nX]X_start (from PartialLumpedVolume)Medium.X_defaultStart value of mass fractions m_i/m
Medium.ExtraProperty[Medium.nC]C_start (from PartialLumpedVolume)Medium.C_defaultStart value of trace substances
Characteristics
IntegernParallel1Number of pumps in parallel
NonSI.AngularVelocity_rpmN_nominalNominal rotational speed for flow characteristic
Medium.Densityrho_nominalMedium.density_pTX(Medium.p_default, Medium.T_default, Medium.X_default)Nominal fluid density for characteristic
Booleanuse_powerCharacteristicfalseUse powerCharacteristic (vs. efficiencyCharacteristic)
Assumptions › Dynamics
Types.DynamicsenergyDynamics (from PartialLumpedVolume)system.energyDynamicsFormulation of energy balance
Types.DynamicsmassDynamics (from PartialLumpedVolume)system.massDynamicsFormulation of mass balance
Types.DynamicssubstanceDynamics (from PartialLumpedVolume)massDynamicsFormulation of substance balance
Types.DynamicstraceDynamics (from PartialLumpedVolume)massDynamicsFormulation of trace substance balance
Assumptions › Heat transfer
Booleanuse_HeatTransferfalse= true to use a HeatTransfer model, e.g., for a housing

Connectors

TypeNameDefaultDescription
Modelica.Fluid.Interfaces.FluidPort_aport_a (from PartialTwoPort)Fluid connector a (positive design flow direction is from port_a to port_b)
Modelica.Fluid.Interfaces.FluidPort_bport_b (from PartialTwoPort)Fluid connector b (positive design flow direction is from port_a to port_b)
Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_aheatPort

Components

TypeNameDefaultDescription
Modelica.Fluid.Systemsystem (from PartialTwoPort)System wide properties
SI.VolumefluidVolume (from PartialLumpedVolume)Volume
Medium.BasePropertiesmedium (from PartialLumpedVolume)
SI.EnergyU (from PartialLumpedVolume)Internal energy of fluid
SI.Massm (from PartialLumpedVolume)Mass of fluid
SI.MassmXi (from PartialLumpedVolume)Masses of independent components in the fluid
SI.MassmC (from PartialLumpedVolume)Masses of trace substances in the fluid
Medium.ExtraProperty[Medium.nC]C (from PartialLumpedVolume)Trace substance mixture content
SI.MassFlowRatemb_flow (from PartialLumpedVolume)Mass flows across boundaries
SI.MassFlowRatembXi_flow (from PartialLumpedVolume)Substance mass flows across boundaries
Medium.ExtraPropertyFlowRatembC_flow (from PartialLumpedVolume)Trace substance mass flows across boundaries
SI.EnthalpyFlowRateHb_flow (from PartialLumpedVolume)Enthalpy flow across boundaries or energy source/sink
SI.HeatFlowRateQb_flow (from PartialLumpedVolume)Heat flow across boundaries or energy source/sink
SI.PowerWb_flow (from PartialLumpedVolume)Work flow across boundaries or source term
HeatTransferheatTransfer
Medium.Densityrhomedium.d
SI.Pressuredp_pumpport_b.p - port_a.pPressure change
SI.Positionheaddp_pump/(rho*g)Pump head
SI.MassFlowRatem_flowport_a.m_flowMass flow rate (total)
SI.MassFlowRatem_flow_singlem_flow/nParallelMass flow rate (single pump)
SI.VolumeFlowRateV_flowVolume flow rate (total)
SI.VolumeFlowRateV_flow_singleVolume flow rate (single pump)
NonSI.AngularVelocity_rpmNShaft rotational speed
SI.PowerW_singlePower Consumption (single pump)
SI.PowerW_totalW_single*nParallelPower Consumption (total)
RealetaGlobal Efficiency
RealsCurvilinear abscissa for the flow curve in parametric form (either mass flow rate or head)
MonitoringmonitoringMonitoring model

Contents

NameDescription
flowCharacteristicHead vs. V_flow characteristic at nominal speed and density
powerCharacteristicPower consumption vs. V_flow at nominal speed and density
efficiencyCharacteristic
HeatTransfer
Monitoring

Revisions

  • 8 Jan 2013 by Rüdiger Franke:
    moved NPSH diagnostics from PartialPump to replaceable sub-model PumpMonitoring.PumpMonitoringNPSH (see ticket #646)
  • Dec 2008 by Rüdiger Franke:
    • Replaced simplified mass and energy balances with rigorous formulation (base class PartialLumpedVolume)
    • Introduced optional HeatTransfer model defining Qb_flow
    • Enabled events when the checkValve is operating to support the opening of a discrete valve before port_a
  • 31 Oct 2005 by Francesco Casella:
    Model added to the Fluid library