modelPartialPump
Extends from Volumes.BaseClasses.PartialVolume (Base class for volume models).
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 the replaceable function flowCharacteristic.
The pump energy balance can be specified in two alternative ways:
use_powerCharacteristic = false(default option): the replaceable functionefficiencyCharacteristic(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 functionpowerCharacteristic(power consumption vs. volume flow rate in nominal conditions) is used to determine the power consumption, and then the efficiency. UsepowerCharacteristicto 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
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Density | d_start | Medium.density_pTX(p_b_start, T_start, X_start) | |
| SI.VolumeFlowRate | V_flow_start | m_flow_start/d_start | |
| SI.VolumeFlowRate | V_flow_nominal | m_flow_nominal/d_nominal | |
| SI.Power | W_nominal | dp_nominal*V_flow_nominal | |
| SI.Height | head_nominal | dp_nominal/(d_nominal*Modelica.Constants.g_n) | |
| Initialization › Start Value: Absolute Pressure | |||
| Medium.AbsolutePressure | p_a_start | 1e5 | Pressure at port a |
| Medium.AbsolutePressure | p_b_start | p_a_start + dp_nominal | Pressure at port b |
| SI.AbsolutePressure | p_start (from PartialVolume) | Medium.p_default | Pressure |
| Advanced › Dynamics | |||
| Dynamics | energyDynamics (from PartialVolume) | Dynamics.DynamicFreeInitial | Formulation of energy balances |
| Dynamics | massDynamics (from PartialVolume) | energyDynamics | Formulation of mass balances |
| Dynamics | substanceDynamics (from PartialVolume) | massDynamics | Formulation of substance balances |
| Dynamics | traceDynamics (from PartialVolume) | massDynamics | Formulation of trace substance balances |
| Initialization › Start Value: Temperature | |||
| Boolean | use_T_start (from PartialVolume) | true | Use T_start if true, otherwise h_start |
| SI.Temperature | T_start (from PartialVolume) | Medium.T_default | Temperature |
| Initialization › Start Value: Specific Enthalpy | |||
| SI.SpecificEnthalpy | h_start (from PartialVolume) | Medium.specificEnthalpy_pTX(p_start, T_start, X_start) | Specific enthalpy |
| Initialization › Start Value: Species Mass Fraction | |||
| SI.MassFraction[Medium.nX] | X_start (from PartialVolume) | Medium.X_default | Mass fraction |
| Initialization › Start Value: Trace Substances | |||
| SIadd.ExtraProperty[Medium.nC] | C_start (from PartialVolume) | fill(0, Medium.nC) | Mass-Specific value |
| Initialization › Start Value: Mass Flow Rate | |||
| Medium.MassFlowRate | m_flow_start | 0 | Mass flow rate through pump |
| Advanced › Model Structure | |||
| Boolean | exposeState_a | true | =true, p is calculated at port_a else m_flow |
| Boolean | exposeState_b | false | =true, p is calculated at port_b else m_flow |
| Advanced | |||
| Boolean | checkValve | false | = true to prevent reverse flow |
| SI.Acceleration | g_n | Modelica.Constants.g_n | Gravitational accelaration |
| Boolean | use_HeatPort | false | =true to toggle heat port |
| Boolean | use_TraceMassPort | false | =true to toggle trace mass port |
| Characteristics: Based on single pump nominal conditions | |||
| Boolean | use_powerCharacteristic | false | =true then use power characteristic else efficiency |
| Nominal Conditions: Single pump basis | |||
| NonSI.AngularVelocity_rpm | N_nominal | 1500 | Pump speed |
| SI.Length | diameter_nominal | 0.1 | Impeller diameter |
| SI.PressureDifference | dp_nominal | 1e5 | Pressure increase |
| SI.MassFlowRate | m_flow_nominal | 1 | Mass flow rate |
| SI.Density | d_nominal | Medium.density_phX(p_b_start, h_start, X_start) | Density |
| Closure Models | |||
| SI.MolarMass[Medium.nC] | MMs | fill(1, Medium.nC) | Trace substances molar mass |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Interfaces.FluidPort_Flow | port_a | ||
| Interfaces.FluidPort_Flow | port_b | ||
| HeatAndMassTransfer.Interfaces.HeatPort_State | heatPort | ||
| HeatAndMassTransfer.Interfaces.MolePort_State | traceMassPort |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| SI.Volume | V (from PartialVolume) | Volume | |
| Medium.BaseProperties | medium (from PartialVolume) | ||
| SI.Mass | m (from PartialVolume) | Mass | |
| SI.InternalEnergy | U (from PartialVolume) | Internal energy | |
| SI.Mass[Medium.nXi] | mXi (from PartialVolume) | Species mass | |
| SIadd.ExtraPropertyExtrinsic[Medium.nC] | mC (from PartialVolume) | Trace substance extrinsic value | |
| SIadd.ExtraPropertyExtrinsic | mC_scaled (from PartialVolume) | Scaled trace substance for improved numerical stability | |
| SIadd.ExtraProperty[Medium.nC] | C (from PartialVolume) | Trace substance mass-specific value | |
| SI.MassFlowRate | mb (from PartialVolume) | 0 | Mass flow rate source/sinks within volumes |
| SI.HeatFlowRate | Ub (from PartialVolume) | 0 | Energy source/sinks within volumes (e.g., ohmic heating, external convection) |
| SI.MassFlowRate[Medium.nXi] | mXib (from PartialVolume) | zeros(Medium.nXi) | Species mass flow rates source/sinks within volumes |
| SIadd.ExtraPropertyFlowRate[Medium.nC] | mCb (from PartialVolume) | zeros(Medium.nC) | Trace flow rate source/sinks within volumes (e.g., chemical reactions, external convection) |
| SI.Length | diameter | diameter_nominal | Impeller diameter |
| SI.PressureDifference | dp | port_b.p - port_a.p | Pressure increase |
| SI.MassFlowRate | m_flow | Mass flow rate | |
| NonSI.AngularVelocity_rpm | N | Shaft rotational speed | |
| SI.Height | head | Pump head | |
| SI.Power | W | Power Consumption | |
| SI.Power | W_ideal | Ideal power consumption | |
| SI.Efficiency | eta | Efficiency | |
| SI.VolumeFlowRate | V_flow | m_flow/medium.d | Volume flow rate |
| FlowChar | flowChar | ||
| PowerChar | powerChar | ||
| EfficiencyChar | efficiencyChar |
Contents
| Name | Description |
|---|---|
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