# Variable-Displacement Motor (TL)

Variable-displacement bidirectional thermal liquid motor

**Library:**Simscape / Fluids / Thermal Liquid / Pumps & Motors

## Description

The Variable-Displacement Motor block represents a device that extracts
power from a thermal liquid network and delivers it to a mechanical rotational network.
The motor displacement varies during simulation according to the physical signal input
specified at port **D**.

Ports **A** and **B** represent the motor inlets.
Ports **R** and **C** represent the motor drive shaft
and case. During normal operation, a pressure drop from port **A** to
port **B** causes a positive flow rate from port **A**
to port **B** and a positive rotation of the motor shaft relative to
the motor case. This operation mode is referred to here as *forward
motor*.

**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 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 response time of the motor is considered negligible in comparison with the system response time. The motor is assumed to reach steady state nearly instantaneously and is treated as a quasi-steady component.

### Flow Rate and Driving Torque

The mass flow rate generated at the motor 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 torque generated at the motor is

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

where:

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

**Ideal Flow Rate and Ideal Torque**

The ideal mass flow rate is

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

and the ideal generated torque is

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

where:

*ρ*is the average of the fluid densities at thermal liquid ports**A**and**B**.*D*_{Sat}is a smoothed displacement computed so as to remove numerical discontinuities between negative and positive displacements.*ω*is the shaft angular velocity.*Δp*is the pressure drop from inlet to outlet.

The saturation displacement is defined as:

$${D}_{\text{Sat}}=\{\begin{array}{ll}\sqrt{{D}^{2}+{D}_{\text{Threshold}}^{2}},\hfill & D\ge 0\hfill \\ -\sqrt{{D}^{2}+{D}_{\text{Threshold}}^{2}},\hfill & D<0\hfill \end{array}.$$

where:

*D*is the displacement specified at physical signal port**D**.*D*_{Threshold}is the specified value of the**Displacement threshold for motor-pump transition**block parameter.

### Leakage and friction parameterization

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

**Analytical**

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

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}_{\text{Sat}}\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. This coefficient is computed from the specified nominal parameters.*μ*is the dynamic viscosity of the thermal liquid, taken here as the average of its values at the thermal liquid ports.*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}.$$

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

The Hagen-Poiseuille coefficient is determined from nominal fluid and component parameters through the equation

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

where:

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

**Tabulated Efficiencies**

When you set **Leakage and friction parameterization** 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.

The smoothing parameter *α* is given by the hyperbolic
tangent function

$$\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 specified value of the**Pressure gain threshold for pump-motor transition**block parameter.*ω*_{Threshold}is the specified value of the**Angular velocity threshold for pump-motor transition**block parameter.*D*_{Threshold}is the specified value of the**Angular velocity threshold for motor-pump transition**block parameter.

The leakage flow rate is calculated from the volumetric efficiency, a quantity
that is specified in tabulated form over the
*Δp*–*ɷ*–*D* domain via
the **Volumetric efficiency table** block parameter. When
operating in pump mode (quadrants **1** and
**3** of the
*Δp*–*ɷ*–*D* chart shown
in the Operation Modes figure), 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, obtained either by interpolation or extrapolation of the
tabulated data. Similarly, when operating in motor mode (quadrants
**2** and **4** of the
*Δp*–*ɷ*–*D* chart), the
leakage flow rate is:

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

The friction torque is similarly calculated from the mechanical efficiency, a
quantity that is specified in tabulated form over the
*Δp*–*ɷ*–*D* domain via
the **Mechanical efficiency table** block parameter. When
operating in pump mode (quadrants **1** and
**3** of the
*Δp*–*ɷ*–*D* chart):

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

where *η*_{m} is the
mechanical efficiency, obtained either by interpolation or extrapolation of the
tabulated data. Similarly, when operating in motor mode (quadrants
**2** and **4** of the
*Δp*–*ɷ*–*D* chart):

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

**Tabulated Losses**

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

, the leakage (volumetric) flow rate is specified directly
in tabulated form over the
*Δp*–*ɷ*–*D*
domain:

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

The mass flow rate due to leakage is calculated from the volumetric flow rate:

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

The friction torque is similarly specified in tabulated form:

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

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

**Input Efficiencies**

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
efficiency lookup tables are replaced with physical signal inputs that you
specify through ports **EV** and
**EM**.

The efficiencies are positive quantities with value between
`0`

and `1`

. Input values outside of these
bounds are set equal to the nearest bound (`0`

for inputs
smaller than `0`

, `1`

for inputs greater than
`1`

). In other words, the efficiency signals are saturated
at `0`

and `1`

.

**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 ignores the sign of the input. The block sets the signs
automatically from the operating conditions established during simulation—more
precisely, from the *Δp*–*ɷ* quadrant in which
the component happens to be operating.

### Energy Balance

Mechanical work done by the motor is associated with an energy exchange. The governing energy balance equation is:

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

where:

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

The motor mechanical power is generated due to torque,
*τ*, and angular velocity, *ω*:

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

### Assumptions

Fluid compressibility is negligible.

Loading on the motor shaft due to inertia, friction, and spring forces is negligible.

## Ports

### Input

### Conserving

## Parameters

## Extended Capabilities

**Introduced in R2017b**