# Variable-Displacement Pump (IL)

**Libraries:**

Simscape /
Fluids /
Isothermal Liquid /
Pumps & Motors

## Description

The Variable-Displacement Pump (IL) block models a pump with variable-volume
displacement. The fluid may move from port **A** to port
**B**, called *forward mode*, or from port
**B** to port **A**, called *reverse
mode*. Pump mode operation occurs when there is a pressure gain in the
direction of the flow. Motor mode operation occurs when there is a pressure drop in the
direction of the flow.

The shaft rotation corresponds to the sign of the fluid volume moving through the
pump, which is received as a physical signal at port **D**. Positive
fluid displacement at **D** corresponds to positive shaft rotation in
forward mode. Negative fluid displacement at **D** corresponds to
negative shaft angular velocity in forward mode.

**Operation Modes**

The block has eight modes of operation. 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:

Mode 1,

*Forward Pump*: Positive shaft angular velocity causes a pressure increase from port**A**to port**B**and flow from port**A**to port**B**.Mode 2,

*Reverse Motor*: Flow from port**B**to port**A**causes a pressure decrease from**B**to**A**and negative shaft angular velocity.Mode 3,

*Reverse Pump*: Negative shaft angular velocity causes a pressure increase from port**B**to port**A**and flow from**B**to**A**.Mode 4,

*Forward Motor*: Flow from port**A**to**B**causes a pressure decrease from**A**to**B**and positive shaft angular velocity.Mode 5,

*Reverse Motor*: Flow from port**B**to port**A**causes a pressure decrease from**B**to**A**and positive shaft angular velocity.Mode 6,

*Forward Pump*: Negative shaft angular velocity causes pressure increase from**A**to**B**and flow from**A**to**B**.Mode 7,

*Forward Motor*: Flow from port**A**to**B**causes a pressure decrease from**A**to**B**and negative shaft angular velocity.Mode 8,

*Reverse Pump*: Positive shaft angular velocity causes a pressure increase from port**B**to port**A**and flow from**B**to**A**.

The pump block has analytical, lookup table, and physical signal parameterizations. When using tabulated data or an input signal for parameterization, you can choose to characterize pump operation based on efficiency or losses.

The threshold parameters **Pressure gain threshold for pump-motor
transition**, **Angular velocity threshold for pump-motor
transition**, and **Displacement threshold for pump-motor
transition** identify regions where numerically smoothed flow transition
between the pump operational modes can occur. For the pressure and angular velocity
thresholds, choose a transition region that provides some margin for the transition
term, but which is small enough relative to the typical pump pressure gain and angular
velocity so that it will not impact calculation results. For the displacement threshold,
choose a threshold value that is smaller than the typical displacement volume during
normal operation.

### Analytical Leakage and Friction Parameterization

If you set **Leakage and friction parameterization** to
`Analytical`

, the block calculates internal leakage and
shaft friction from constant nominal values of shaft velocity, pressure gain,
volumetric displacement, and volumetric efficiency. The leakage flow rate, which is
correlated with the pressure differential over the pump, is calculated as:

$${\dot{m}}_{leak}=K{\rho}_{avg}\Delta p,$$

where:

*Δp*is*p*_{B}–*p*_{A}.*ρ*_{avg}is the average fluid density.*K*is the Hagen-Poiseuille coefficient for analytical loss,$$K=\frac{{D}_{nom}{\omega}_{nom}\left(1-{\eta}_{v,nom}\right)}{\Delta {p}_{nom}},$$

where:

*D*_{nom}is the**Nominal displacement**.*ω*_{nom}is the**Nominal shaft angular velocity**.*η*_{nom}is the**Volumetric efficiency at nominal conditions**.*Δp*_{nom}is the**Nominal pressure gain**.

The friction torque, which is related to the pump pressure differential, is calculated as:

$${\tau}_{fr}=\left({\tau}_{0}+k\left|\Delta p\frac{D}{{D}_{nom}}\right|\right)\mathrm{tanh}\left(\frac{4\omega}{5\times {10}^{-5}{\omega}_{nom}}\right),$$

where:

*τ*_{0}is the**No-load torque**.*k*is the friction torque vs. pressure gain coefficient at nominal displacement, which is determined from the**Mechanical efficiency at nominal conditions**,*η*:_{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}.$$

*ω*is the relative shaft angular velocity, or $${\omega}_{R}-{\omega}_{C}$$.

### Tabulated Data Parameterizations

When using tabulated data for pump efficiencies or losses, you can provide data for one or more of the pump operational modes. The signs of the tabulated data determine the operational regime of the block. When data is provided for less than eight operational modes, the block calculates the complementing data for the other modes by extending the given data into the remaining octants.

**The**

```
Tabulated data - volumetric and mechanical
efficiencies
```

parameterizationThe leakage flow rate is calculated as:

$${\dot{m}}_{leak}={\dot{m}}_{leak,pump}\left(\frac{1+\alpha}{2}\right)+{\dot{m}}_{leak,motor}\left(\frac{1-\alpha}{2}\right),$$

where:

$${\dot{m}}_{leak,pump}=\left(1-{\eta}_{\upsilon}\right){\dot{m}}_{ideal}$$

$${\dot{m}}_{leak,motor}=\left({\eta}_{v}-1\right)\dot{m}$$

and *η*_{v} is the volumetric efficiency,
which is interpolated from the user-provided tabulated data. The transition
term, *α*, is

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

where:

*Δp*is*p*_{B}–*p*_{A}.*Δp*_{threshold}is the**Pressure gain threshold for pump-motor transition**.*ω*is*ω*_{R}–*ω*_{C}.*ω*_{threshold}is the**Angular velocity threshold for pump-motor transition**.

The friction torque is calculated as:

$${\tau}_{fr}={\tau}_{fr,pump}\left(\frac{1+\alpha}{2}\right)+{\tau}_{fr,motor}\left(\frac{1-\alpha}{2}\right),$$

where:

$${\tau}_{fr,pump}=\left(1-{\eta}_{m}\right)\tau $$

$${\tau}_{fr,motor}=\left({\eta}_{m}-1\right){\tau}_{ideal}$$

and *η*_{m} is the
mechanical efficiency, which is interpolated from the user-provided tabulated
data.

**The**

```
Tabulated data - volumetric and mechanical
losses
```

parameterizationThe leakage flow rate is calculated as:

$${\dot{m}}_{leak}={\rho}_{avg}{q}_{loss}\left(\Delta p,\omega ,D\right),$$

where *q*_{loss} is interpolated from the
**Volumetric loss table, q_loss(dp,w,D)** parameter, which
is based on user-supplied data for pressure gain, shaft angular velocity, and
fluid volumetric displacement.

The shaft friction torque is calculated as:

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

where *τ*_{loss} is interpolated from the
**Mechanical loss table, torque_loss(dp,w,D)** parameter,
which is based on user-supplied data for pressure gain, shaft angular velocity,
and fluid volumetric displacement.

### Input Signal Parameterization

When you select ```
Input signal - volumetric and mechanical
efficiencies
```

, ports **EV** and
**EM** are enabled. The internal leakage and shaft friction are
calculated in the same way as the ```
Tabulated data - volumetric and
mechanical efficiencies
```

parameterization, except that
*η*_{v} and
*η*_{m} are received directly at ports
**EV** and **EM**, respectively.

When you select ```
Input signal - volumetric and mechanical
losses
```

, ports **LV** and **LM**
are enabled. These ports receive leakage flow and friction torque as positive
physical signals. The leakage flow rate is calculated as:

$${\dot{m}}_{leak}={\rho}_{avg}{q}_{LV}\mathrm{tanh}\left(\frac{4\Delta p}{{p}_{thresh}}\right),$$

where:

*q*_{LV}is the leakage flow received at port**LV**.*p*_{thresh}is the**Pressure gain threshold for pump-motor transition**parameter.

The friction torque is calculated as:

$${\tau}_{fr}={\tau}_{LM}\mathrm{tanh}\left(\frac{4\omega}{{\omega}_{thresh}}\right),$$

where

*τ*_{LM}is the friction torque received at port**LM**.*ω*_{thresh}is the**Angular velocity threshold for pump-motor transition**parameter.

The volumetric and mechanical efficiencies range between the user-defined specified minimum and maximum values. Any values lower or higher than this range will take on the minimum and maximum specified values, respectively.

### Pump Operation

The pump flow rate is:

$$\dot{m}={\dot{m}}_{ideal}-{\dot{m}}_{leak},$$

where $${\dot{m}}_{ideal}={\rho}_{avg}D\cdot \omega .$$

The pump torque is:

$$\tau ={\tau}_{ideal}+{\tau}_{fr},$$

where $${\tau}_{ideal}=D\cdot \Delta p.$$

The mechanical power delivered by the pump shaft is:

$${\phi}_{mech}=\tau \omega ,$$

and the pump hydraulic power is:

$${\phi}_{hyd}=\frac{\Delta p\dot{m}}{{\rho}_{avg}}.$$

To be notified if the block is operating beyond the supplied
tabulated data, you can set **Check if operating beyond the octants of
supplied tabulated data** to `Warning`

to
receive a warning if this occurs, or `Error`

to stop the
simulation when this occurs. when using input signals for volumetric or mechanical
losses, you can be notified if the simulation surpasses operating modes with the
**Check if operating beyond pump mode** parameter.

You can also monitor pump functionality. Set **Check if pressures are less
than pump minimum pressure** to `Warning`

to
receive a warning if this occurs, or `Error`

to stop the
simulation when this occurs.

## Examples

## Ports

### Conserving

### Input

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2020a**