# Variable-Displacement Hydraulic Machine (External Efficiencies)

Variable-displacement reversible hydraulic machine with externally specified volumetric and mechanical efficiencies

Pumps and Motors

## Description

The Variable-Displacement Hydraulic Machine (External Efficiencies) block represents a reversible, variable positive-displacement hydraulic machine with volumetric and mechanical efficiencies provided externally to the block through physical signal ports EV and EM, respectively. The block can work as a pump or a motor, depending on the direction of mechanical and hydraulic power flow.

The machine displacement is controlled externally through a physical signal port, C.

The model offers two options to specify the relationship between the control member position and the machine displacement:

• By the maximum displacement and stroke — The displacement is assumed to be linearly dependent on the control member position.

• By table-specified relationship between the control member position and the machine displacement — The displacement is determined by one-dimensional table lookup based on the control member position. You have a choice of three interpolation methods and two extrapolation methods.

The machine switches between pump and motor modes at the moment the mechanical power changes sign:

• If Pmech > 0 — Pump mode.

• If Pmech ≤ 0 — Motor mode.

To ensure continuity at the instance when the machine switches its operational mode, the block implements a transition region around this point, where the transition from one regime to another is smoothed by a simple third-order polynomial transition function. The transition region is defined by the power threshold value:

• If PmechPthreshold — Pump mode.

• If Pmech–Pthreshold — Motor mode.

• If –Pthreshold < Pmech < Pthreshold — Transition region.

The variable-displacement machine is represented with the following equations:

`$q=D\cdot \omega \cdot {K}_{v}$`
`$\tau =-D\cdot p\cdot {K}_{m}$`

`${p}_{mech}=\tau \cdot \omega$`
`${p}_{hyd}=p\cdot q$`
`$p={p}_{A}-{p}_{B}$`
`${P}_{norm}=\frac{{P}_{mech}-\left(-{P}_{threshold}\right)}{{P}_{threshold}-\left(-{P}_{threshold}\right)}$`

where

 q Machine flow rate p Pressure differential across the machine pA, pB Gauge pressures at the block terminals ω Machine shaft angular velocity D Machine instantaneous displacement Dmax Machine maximum displacement x Control member displacement xmax Control member maximum stroke τ Machine shaft torque Kv Machine flow rate proportionality coefficient Km Machine torque proportionality coefficient ηv Volumetric efficiency ηm Mechanical efficiency Pmech Mechanical power Phyd Hydraulic power Pthreshold Power threshold Pnorm Normalized power

Connections A and B are hydraulic conserving ports associated with the machine inlet and outlet, respectively. Connection S is a mechanical rotational conserving port associated with the machine shaft. Connection C is a physical signal port that controls machine displacement. Connections EV and EM are physical signal ports for specifying volumetric and mechanical efficiencies, respectively. The flow rate from port A to port B causes the shaft to rotate in the positive direction, provided a positive signal is applied to port C.

## Basic Assumptions and Limitations

• Fluid compressibility is neglected.

• Inertia on the machine shaft is not considered.

• To ensure the continuity of the flow rate and torque at the instant the machine changes its mode between pump and motor, a small region (power threshold) is defined, which helps a smooth transition between the two modes.

## Dialog Box and Parameters

Displacement specification

Select one of the following block parameterization options:

• ```By maximum displacement and control member stroke``` — Provide values for maximum machine displacement and maximum stroke. The displacement is assumed to be linearly dependent on the control member position. This is the default.

• ```By displacement vs. control member position table``` — Provide tabulated data of machine displacements and control member positions. The displacement is determined by one-dimensional table lookup. You have a choice of three interpolation methods and two extrapolation methods.

Maximum displacement

Machine maximum displacement. The default value is `5e-6` m^3/rad.

Maximum stroke

Maximum control member stroke. The default value is `0.005` m. This parameter is used if displacement is specified as ```By maximum displacement and control member stroke```.

Machine displacements table

Specify the vector of machine displacements as a one-dimensional array. The machine displacements vector must be of the same size as the control member positions vector. The default values, in m^3/rad, are `[-5e-06 -3e-06 0 3e-06 5e-06]`. This parameter is used if displacement is specified as ```By displacement vs. control member position table```.

Control member positions table

Specify the vector of input values for control member position as a one-dimensional array. The input values vector must be strictly increasing. The values can be nonuniformly spaced. The minimum number of values depends on the interpolation method: you must provide at least two values for linear interpolation, at least three values for cubic or spline interpolation. The default values, in meters, are ```[-0.0075 -0.0025 0 0.0025 0.0075]```. This parameter is used if displacement is specified as ```By displacement vs. control member position table```.

Interpolation method

Select one of the following interpolation methods for approximating the output value when the input value is between two consecutive grid points:

• `Linear` — Uses a linear interpolation function.

• `Cubic` — Uses the Piecewise Cubic Hermite Interpolation Polynomial (PCHIP).

• `Spline` — Uses the cubic spline interpolation algorithm.

For more information on interpolation algorithms, see the PS Lookup Table (1D) block reference page. This parameter is used if displacement is specified as ```By displacement vs. control member position table```.

Extrapolation method

Select one of the following extrapolation methods for determining the output value when the input value is outside the range specified in the argument list:

• `From last 2 points` — Extrapolates using the linear method (regardless of the interpolation method specified), based on the last two output values at the appropriate end of the range. That is, the block uses the first and second specified output values if the input value is below the specified range, and the two last specified output values if the input value is above the specified range.

• `From last point` — Uses the last specified output value at the appropriate end of the range. That is, the block uses the last specified output value for all input values greater than the last specified input argument, and the first specified output value for all input values less than the first specified input argument.

For more information on extrapolation algorithms, see the PS Lookup Table (1D) block reference page. This parameter is used if displacement is specified as ```By displacement vs. control member position table```.

Power threshold

The power threshold is introduced to avoid discontinuity at the instance the machine switches between pump and motor modes of operation. In the absence of this transition region, the flow and torque change their values instantly, which may result in convergence problems due to discontinuity. A small region in the vicinity of zero power allows avoiding discontinuity and improving convergence. The default value is `5` W.

## Ports

The block has the following ports:

`A`

Hydraulic conserving port associated with the machine inlet.

`B`

Hydraulic conserving port associated with the machine outlet.

`C`

Physical signal port that controls machine displacement.

`EV`

Physical signal port associated with the volumetric efficiency input.

`EM`

Physical signal port associated with the mechanical efficiency input.

`S`

Mechanical rotational conserving port associated with the machine shaft.