# Pressure-Compensated Pump (IL)

Constant-pressure, variable-displacement pump in an isothermal liquid network

*Since R2020a*

**Libraries:**

Simscape /
Fluids /
Isothermal Liquid /
Pumps & Motors

## Description

The Pressure-Compensated Pump (IL) block models a constant-pressure, variable-displacement
pump in an isothermal liquid network. The pump displacement is controlled by the
differential pressure, *p _{control}*, measured
between ports

**X**and

**Y**. When this pressure exceeds the

**Set pressure differential**, the fluid displacement is adjusted according to the pump

**Leakage and friction parameterization**. The variable-displacement functionality occurs within the

**Pressure regulation range**between the

**Maximum displacement**, at

*p*, and the

_{set}**Minimum displacement**, at

*p*.

_{max}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.

Shaft rotation corresponds to the sign of the fluid volume moving through the pump. Positive fluid displacement corresponds to positive shaft rotation in forward mode. Negative fluid displacement 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,
set by the pressure differential. 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 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 leakage and friction
from constant values for shaft velocity, pressure gain, and torque. 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*_{nom}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 mode(s) 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, set **Check if operating beyond the range of supplied
tabulated data** to `Warning`

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

to stop the simulation
when this occurs. For parameterization by input signal 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.

### Displacement Parameterization

The linear parameterization of the pump displacement is:

$$D=\widehat{p}\left({D}_{\mathrm{min}}-{D}_{\mathrm{max}}\right)+{D}_{\mathrm{max}},$$

where the normalized pressure, $$\widehat{p}$$, is

$$\widehat{p}=\frac{{p}_{control}-{p}_{set}}{{p}_{max}-{p}_{set}}.$$

where *p _{max}* is the sum
of the

**Set pressure differential**and the

**Pressure regulation range**.

### Displacement Dynamics

If displacement dynamics are modeled, a lag is introduced to the flow response to
the modeled control pressure. *p*_{control}
becomes the dynamic control pressure,
*p*_{dyn}; otherwise,
*p*_{control} is the steady-state pressure.
The instantaneous change in dynamic control pressure is calculated based on the
**Time constant**, *τ*:

$${\dot{p}}_{dyn}=\frac{{p}_{control}-{p}_{dyn}}{\tau}.$$

By default, **Displacement dynamics** is set to
`Off`

.

### Numerically-Smoothed Pressure

You can maintain numerical robustness in your
simulation by adjusting the **Smoothing factor** parameter. If
the **Smoothing factor** parameter is nonzero, the block smoothly
saturates the normalized control pressure between
*p _{set}* and

*p*. For more information, see Numerical Smoothing.

_{max}## Ports

### Conserving

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2020a**