| Products & Services | Industries | Academia | Support | User Community | Company |
| Download Product Updates | | | Get Pricing | | | Trial Software |
| Documentation → SimHydraulics |
| Contents | Index |
| Learn more about SimHydraulics |
Pumps and Motors

The Variable-Displacement Hydraulic Machine block represents a variable-displacement hydraulic machine of any type as a data-sheet-based model. The model accounts for the power flow direction and simulates the machine in both the motor and pump mode. The efficiency of the machine is variable, and you can set it in accordance with experimental data provided in the catalog or data sheet.
The machine displacement is controlled by the signal provided through the physical signal port C. The machine efficiency is simulated by implementing regime-dependable leakage and friction torque based on the experimentally established correlations between the machine efficiencies and pressure, angular velocity, and displacement.
With respect to the relationship between the control signal and the displacement, two block parameterization options are available:
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 variable-displacement machine is represented with the following equations:
![]()
![]()

![]()
where
| q | Machine flow rate |
| p | Pressure differential across the machine |
| pA,pB | Gauge pressures at the block terminals |
| D | Machine instantaneous displacement |
| Dmax | Machine maximum displacement |
| x | Control member displacement |
| xmax | Control member maximum stroke |
| T | Torque at the machine shaft |
| ω | Machine shaft angular velocity |
| qL | Leakage flow |
| Tfr | Friction torque |
| km | Machine type coefficient. km = 1 for the pump, km = –1 for the motor. |
The key parameters that determine machine efficiency are its leakage and friction on the shaft. In the block, these parameters are specified with experimentally-based correlations similar to [1]
![]()
![]()
where
| pnom | Nominal pressure |
| ωnom | Nominal angular velocity |
| kL1 | Leakage proportionality coefficient |
| kF1 | Friction proportionality coefficient |
| kLP, kLD, kLω, kFP, kFD, kFω | Approximating coefficients |
The approximating coefficients are determined from the efficiency plots, usually provided by the machine manufacturer. With the leakage known, the pump volumetric efficiency can be expressed as
![]()
For a motor, the expression looks like the following

The mechanical efficiency is based on the known friction torque

![]()
The curve-fitting procedure is based on the comparison of the
efficiency, determined with one of the above expressions, and the
experimental data
, an example of
which is shown in the following plot.

The procedure can be performed with the Optimization Toolbox software. For instance, the pump volumetric efficiency approximating coefficients can be found by solving the following problem:
![]()
![]()

where
| i | Number of experimental pressure points, from 1 to n |
| j | Number of experimental displacement points, from 1 to m |
| k | Number of experimental angular velocity points, from 1 to l |
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. The flow rate from port A to port B causes the shaft to rotate in positive direction, provided positive signal is applied to port C.
The model is based on the following assumptions:
Fluid compressibility is neglected.
No inertia on the machine shaft is considered.
The model is applicable only for fluid and fluid temperature at which the approximating coefficients have been determined.
Extreme caution must be exercised to not exceed the limits within which the approximating coefficients have been determined. The extrapolation could result in large errors.
The block dialog box contains three tabs:


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 method.
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.
Machine maximum displacement. The default value is 5e-6 m^3/rad. This parameter is used if displacement is specified as By maximum displacement and control member 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.
Specify the vector of input values for control member position as a tabulated 1-by-m array. The input values vector must be strictly monotonically increasing. The values can be nonuniformly spaced. You must provide at least three values. 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.
Specify the vector of output values for the machine displacement as a tabulated 1-by-m array. The machine displacements vector must be 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.
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 Polinomial (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.
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.

Nominal pressure differential across the machine. The default value is 1e7 Pa.
Nominal angular velocity of the output shaft. The default value is 188 rad/s.
The friction torque on the machine shaft ideally should be introduced as Tfrsign(ω). To avoid discontinuity at ω –> 0, the friction is defined as Tfrtanh(4ω /ωmax ), where ωmax is a small velocity, representing the shaft velocity at peak friction, at which tanh(4ω /ωmax ) is equal to 0.999. The default value of ωmax is 0.01 rad/s.

Approximating coefficient kL1 in the block description preceding. The default value is 0.05.
Approximating coefficient kLP in the block description preceding. The default value is 0.65.
Approximating coefficient kLω in the block description preceding. The default value is -0.2.
Approximating coefficient kLD in the block description preceding. The default value is -0.8.
Approximating coefficient kF1 in the block description preceding. The default value is 0.06.
Approximating coefficient kFP in the block description preceding. The default value is -0.65.
Approximating coefficient kFω in the block description preceding. The default value is 0.2.
Approximating coefficient kFD in the block description preceding. The default value is -0.75.
The block has the following ports:
Hydraulic conserving port associated with the machine inlet.
Hydraulic conserving port associated with the machine outlet.
Physical signal port that controls machine displacement.
Mechanical rotational conserving port associated with the machine shaft.
[1] C.R. Cornell, Dynamic Simulation of a Hydrostatically Propelled Vehicle, SAE paper 811253, 1981, p. 22
![]() | Variable Orifice | Variable-Displacement Motor | ![]() |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2009- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |