# Variable-Displacement Pump (2P)

**Libraries:**

Simscape /
Fluids /
Two-Phase Fluid /
Fluid Machines

## Description

The Variable-Displacement Pump (2P) block represents a device that extracts
power from a mechanical rotational network and delivers it to a two-phase fluid network. The
pump displacement varies during simulation according to the physical input signal at port
**D**.

Ports **A** and **B** represent the pump inlets. Ports
**R** and **C** represent the drive shaft and case. During
normal operation, the pressure gain from port **A** to port
**B** is positive if the angular velocity at port **R**
relative to port **C** is positive.

The Variable-Displacement Pump (2P) block assumes that
liquid enters the pump inlet. You can use the **Report when fluid is not fully
liquid** parameter to choose what the block does when the fluid does not meet
liquid conditions. To move vapor in a two-phase fluid network, use a compressor.

### Operating Modes

The block has four modes of operation, as shown by this image.

The working mode depends on the pressure gain from port **A** to port
**B**, *Δp = p*_{B} –
*p*_{A}; the angular velocity, *ω =
ω*_{R} – *ω*_{C}; and
the fluid volumetric displacement at port **D**. The figure above maps
these modes to the octants of a
*Δp*-*ω*-*D* chart:

The quadrant labeled

**1**represents the forward pump mode. In this mode, the positive shaft angular velocity causes a pressure increase from port**A**to port**B**and flow from port**A**to port**B**The quadrant labeled

**2**represents the reverse motor mode. In this mode, the flow from port**B**to port**A**causes a pressure decrease from**B**to**A**and negative shaft angular velocity.The quadrant labeled

**3**represents the reverse pump mode. In this mode, the negative shaft angular velocity causes a pressure increase from port**B**to port**A**and flow from port**B**to port**A**The quadrant labeled

**4**represents the forward motor mode. In this mode, the flow from port**A**to port**B**causes a pressure decrease from**A**to**B**and positive shaft angular velocity.The quadrant labeled

**5**represents the reverse motor mode. In this mode, the flow from port**B**to port**A**causes a pressure decrease from**B**to**A**and positive shaft angular velocity.The quadrant labeled

**6**represents the forward pump mode. In this mode, the negative shaft angular velocity causes a pressure increase from port**A**to port**B**and flow from port**A**to port**B**The quadrant labeled

**7**represents the forward motor mode. In this mode, the flow from port**A**to port**B**causes a pressure decrease from**A**to**B**and negative shaft angular velocity.The quadrant labeled

**8**represents the reverse pump mode. In this mode, the positive shaft angular velocity causes a pressure increase from port**B**to port**A**and flow from port**B**to port**A**

The response time of the pump is negligible in comparison with the system response time. The pump reaches steady state nearly instantaneously and is treated as a quasi-steady component.

### Energy Balance

The block associates the mechanical work done by the pump with an energy exchange. The governing energy balance equation is:

$${\varphi}_{A}+{\varphi}_{B}+{P}_{hydro}=0,$$

where:

*Φ*_{A}and*Φ*_{B}are the energy flow rates at ports**A**and**B**, respectively.*P*_{hydro}is the pump hydraulic power, which is a function of the pressure difference between the pump ports: $${P}_{hydro}=\Delta p\frac{\dot{m}}{\rho}$$.

The block generates mechanical power due to torque, *τ*,
and angular velocity, *ω*:

$${P}_{mech}=\tau \omega .$$

### Flow Rate and Driving Torque

The mass flow rate generated at the pump is

$$\dot{m}={\dot{m}}_{\text{Ideal}}-{\dot{m}}_{\text{Leak}},$$

where:

$$\dot{m}$$ is the actual mass flow rate.

$${\dot{m}}_{\text{Ideal}}$$ is the ideal mass flow rate.

$${\dot{m}}_{\text{Leak}}$$ is the internal leakage mas flow rate.

The driving torque required to power the pump is

$$\tau ={\tau}_{\text{Ideal}}+{\tau}_{\text{Friction}},$$

where:

*τ*is the actual driving torque.*τ*_{Ideal}is the ideal driving torque.*τ*_{Friction}is the friction torque.

**Ideal Flow Rate and Ideal Torque**

The ideal mass flow rate is

$${\dot{m}}_{\text{Ideal}}=\rho D\omega ,$$

and the ideal required torque is

$${\tau}_{\text{Ideal}}=D\Delta p,$$

where:

*ρ*is the average of the fluid densities at ports**A**and**B**.*ω*is the shaft angular velocity.*Δp*is the pressure gain from inlet to outlet.*D*is the**Displacement**specified at physical signal port**D**.

### Leakage and friction parameterization

You can parameterize leakage and friction analytically, by using tabulated efficiencies or losses, or by using input efficiencies or input losses.

**Analytical**

When you set the **Leakage and Friction Parameterization** parameter
to `Analytical`

, the leakage flow rate is

$${\dot{m}}_{\text{Leak}}=\frac{{K}_{\text{HP}}{\rho}_{\text{Avg}}\Delta p}{{\mu}_{\text{Avg}}},$$

and the friction torque is

$${\tau}_{\text{Friction}}=\left({\tau}_{0}+{K}_{\text{TP}}\left|\Delta p\right|\frac{\left|D\right|}{{D}_{\text{Nom}}}\text{tanh}\frac{4\omega}{\left(5e-5\right){\omega}_{\text{Nom}}}\right),$$

where:

*K*_{HP}is the Hagen-Poiseuille coefficient for laminar pipe flows. The block computes this coefficient from the specified nominal parameters.*μ*is the dynamic viscosity of the fluid, which is the average of the values at the ports.*k*is the friction torque vs. pressure gain coefficient at nominal displacement, which the block determines from the**Mechanical efficiency at nominal conditions**parameter,*η*:_{m,nom}$$k=\frac{{\tau}_{fr,nom}-{\tau}_{0}}{\Delta {p}_{nom}}.$$

*τ*is the friction torque at nominal conditions:_{fr,nom}$${\tau}_{fr,nom}=\left(\frac{1-{\eta}_{m,nom}}{{\eta}_{m,nom}}\right){D}_{nom}\Delta {p}_{nom}.$$

*Δp*_{Nom}is the value of the**Nominal pressure gain**parameter. This value is the pressure gain at which the nominal volumetric efficiency is specified.*D*_{Nom}is the value of the**Nominal Displacement**parameter.*τ*_{0}is the value of the**No-load torque**parameter.*ω*_{Nom}is the value of the**Nominal shaft angular velocity**parameter.

The block determines the Hagen-Poiseuille coefficient from the nominal fluid and component parameters

$${K}_{\text{HP}}=\frac{{D}_{\text{Nom}}{\omega}_{\text{Nom}}{\mu}_{\text{Nom}}\left(1-{\eta}_{\text{v,Nom}}\right)}{\Delta {p}_{\text{Nom}}},$$

where:

*ω*_{Nom}is the value of the**Nominal shaft angular velocity**parameter. This value is the angular velocity at which the block specifies the nominal volumetric efficiency.*μ*_{Nom}is the value of the**Nominal Dynamic viscosity**parameter. This value is the dynamic viscosity at which the block specifies the nominal volumetric efficiency.*η*_{v,Nom}is the value of the**Volumetric efficiency at nominal conditions**parameter. This is the volumetric efficiency that corresponds to the specified nominal conditions.

**Tabulated Efficiencies**

When you set the **Leakage and friction parameterization** parameter
to `Tabulated data - volumetric and mechanical efficiencies`

, the
leakage flow rate is

$${\dot{m}}_{\text{Leak}}={\dot{m}}_{\text{Leak,Pump}}\frac{\left(1+\alpha \right)}{2}+{\dot{m}}_{\text{Leak,Motor}}\frac{\left(1-\alpha \right)}{2},$$

and the friction torque is

$${\tau}_{\text{Friction}}={\tau}_{\text{Friction,Pump}}\frac{1+\alpha}{2}+{\tau}_{\text{Friction,Motor}}\frac{1-\alpha}{2},$$

where:

*α*is a numerical smoothing parameter for the motor-pump transition.$${\dot{m}}_{\text{Leak,Motor}}$$ is the leakage flow rate in motor mode.

$${\dot{m}}_{\text{Leak,Pump}}$$ is the leakage flow rate in pump mode.

*τ*_{Friction,Motor}is the friction torque in motor mode.*τ*_{Friction,Pump}is the friction torque in pump mode.

This hyperbolic function describes the smoothing parameter *α*

$$\alpha =\text{tanh}\left(\frac{4\Delta p}{\Delta {p}_{\text{Threshold}}}\right)\xb7\text{tanh}\left(\frac{4\omega}{{\omega}_{\text{Threshold}}}\right)\xb7\mathrm{tanh}\left(\frac{4D}{{D}_{\text{Threshold}}}\right),$$

where:

*Δp*_{Threshold}is the value of the**Pressure gain threshold for pump-motor transition**block parameter.*ω*_{Threshold}is the value of the**Angular velocity threshold for pump-motor transition**block parameter.*D*_{Threshold}is the value of the**Angular velocity threshold for motor-pump transition**block parameter.

The block calculates the leakage flow rate from the volumetric efficiency, which the
** Volumetric efficiency table** parameter specifies over the
*Δp*–*ɷ*–*D* domain. When operating
in pump mode, the leakage flow rate is:

$${\dot{m}}_{\text{Leak,Pump}}=\left(1-{\eta}_{\text{v}}\right){\dot{m}}_{\text{Ideal}},$$

where *η*_{v} is the volumetric
efficiency, which the block obtains either by interpolation or extrapolation of the
tabulated data. Similarly, when operating in motor mode, the leakage flow rate is:

$${\dot{m}}_{\text{Leak,Motor}}=-\left(1-{\eta}_{\text{v}}\right)\dot{m}.$$

The block calculates the friction torque from the mechanical efficiency, which the
**Mechanical efficiency table** parameter specifies over the
*Δp*–*ɷ*–*D* domain. When operating
in pump mode, the friction torque is

$${\tau}_{\text{Friction,Pump}}=\left(1-{\eta}_{\text{m}}\right)\tau ,$$

where *η*_{m} is the mechanical
efficiency, which the block obtains either by interpolation or extrapolation of the
tabulated data. Similarly, when operating in motor mode, the friction torque is

$${\tau}_{\text{Friction,Motor}}=-\left(1-{\eta}_{\text{m}}\right){\tau}_{\text{Ideal}}.$$

**Tabulated Losses**

When you set the **Leakage and friction parameterization** parameter
to `Tabulated data - volumetric and mechanical losses`

, the block
specifies the leakage volumetric flow rate in tabulated form over the
*Δp*–*ɷ*–*D* domain:

$${q}_{\text{Leak}}={q}_{\text{Leak}}\left(\Delta p,\omega ,D\right).$$

The block calculates the mass flow rate due to leakage from the volumetric flow rate:

$${\dot{m}}_{\text{Leak}}=\rho {q}_{\text{Leak}}.$$

The block calculates the friction torque in tabulated form:

$${\tau}_{\text{Friction}}={\tau}_{\text{Friction}}\left(\Delta p,\omega ,D\right),$$

where *q*_{Leak}(*Δp*,*ω*,*D*) and *τ*_{Friction}(*Δp*,*ω*,*D*) are the volumetric and mechanical losses, specified through
interpolation or extrapolation of the tabulated data in the **Volumetric loss
table** and **Mechanical loss table** parameters.

**Input Efficiencies**

When you set the **Leakage and friction parameterization** parameter
to `Input signal - volumetric and mechanical efficiencies`

, the
leakage flow rate and friction torque calculations are identical to the
`Tabulated data - volumetric and mechanical efficiencies`

setting. The block replaces the volumetric and mechanical efficiency lookup tables with
the physical signal input ports **EV** and
**EM**.

When you set the **Leakage and friction parameterization** parameter
to `Input signal - volumetric and mechanical losses`

, the leakage
flow rate and friction torque calculations are identical to the ```
Tabulated
data - volumetric and mechanical efficiencies
```

setting. The block replaces
the volumetric and mechanical loss lookup tables with the physical signal input ports
**LV** and **LM**.

**Input Losses**

When you set **Leakage and friction parameterization** to
`Input signal - volumetric and mechanical efficiencies`

, the
leakage flow rate and friction torque calculations are identical to the
`Tabulated data - volumetric and mechanical efficiencies`

setting. The volumetric and mechanical loss lookup tables are replaced with physical
signal inputs that you specify through ports **LV** and
**LM**.

The block expects the inputs to be positive and sets the signs automatically from the
*Δp*–*ɷ* quadrant where the component is operating. If
you provide a negative signal, the block returns zero losses.

### Assumptions and Limitations

The block treats the pump as a quasi-steady component.

The block ignores the effects of fluid inertia and elevation.

The pump wall is rigid.

The block ignores external leakage.

## Ports

### Input

### Conserving

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2022b**