# Variable-Displacement Motor (IL)

**Libraries:**

Simscape /
Fluids /
Isothermal Liquid /
Pumps & Motors

## Description

The Variable-Displacement Motor (IL) block models a motor 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*. Motor mode operation occurs when there is a pressure drop in the
direction of the flow. Pump mode operation occurs when there is a pressure gain in the
direction of the flow.

The shaft rotation corresponds to the sign of the fluid volume moving through the
motor, 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 drop
from port **A** to port **B**, *Δp =
p*_{A} – *p*_{B};
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 Motor*: Flow from port**A**to port**B**causes a pressure decrease from**A**to**B**and a positive shaft angular velocity.Mode 2,

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

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

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

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

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

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

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

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

The threshold parameters **Pressure drop threshold for motor-pump
transition**, **Angular velocity threshold for motor-pump
transition**, and **Displacement threshold for motor-pump
transition** identify regions where numerically smoothed flow transition
between the motor 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 motor pressure drop 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 drop,
volumetric displacement, and torque. The leakage flow rate, which is correlated with
the pressure differential over the motor, is calculated as:

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

where:

*Δp*is*p*_{A}–*p*_{B}.*ρ*_{avg}is the average fluid density.*K*is the Hagen-Poiseuille coefficient for analytical loss,$$K=\frac{{D}_{nom}{\omega}_{nom}\left(\frac{1}{{\eta}_{v,}{}_{nom}}-1\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 drop**.

The torque, which is related to the motor 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(1-{\eta}_{m,nom}\right){D}_{nom}\Delta {p}_{nom}.$$

*Δp*is the pressure drop between ports**A**and**B**.*ω*is the relative shaft angular velocity, or $${\omega}_{R}-{\omega}_{C}$$.

### Tabulated Data Parameterizations

When using tabulated data for motor efficiencies or losses, you can provide data for one or more of the motor 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,motor}\left(\frac{1+\alpha}{2}\right)+{\dot{m}}_{leak,pump}\left(\frac{1-\alpha}{2}\right),$$

where:

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

$${\dot{m}}_{leak,motor}=\left(1-{\eta}_{v}\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*_{A}–*p*_{B}.*Δp*_{threshold}is the**Pressure drop threshold for motor-pump transition**.*ω*is*ω*_{R}–*ω*_{C}.*ω*_{threshold}is the**Angular velocity threshold for motor-pump transition**.

The 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({\eta}_{m}-1\right)\tau $$

$${\tau}_{fr,motor}=\left(1-{\eta}_{m}\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 drop, 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 drop, shaft angular velocity,
and fluid volumetric displacement.

### Input Signal Parameterization

When **Leakage and friction parameterization** is set
to```
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 **Leakage and friction parameterization** is set
to`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 drop threshold for motor-pump 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 motor-pump 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.

### Motor Operation

The motor flow rate is:

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

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

The motor torque is:

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

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

The mechanical power extracted by the motor shaft is:

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

and the motor 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 signal for volumetric or mechanical
losses, you can be notified if the simulation surpasses operating modes with the
**Check if operating beyond motor mode** parameter.

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

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

to stop the simulation when this occurs.

## Ports

### Conserving

### Input

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2020a**