# Double-Acting Actuator (IL)

Linear conversion of pressure differential to actuation in an isothermal liquid system

• Library:
• Simscape / Fluids / Isothermal Liquid / Actuators

## Description

The Double-Acting Actuator (IL) block represents the linear conversion of a pressure differential between two chambers to piston motion. The piston actuation is controlled by the pressure differential acting on the piston plate that separates the chambers. The motion of the piston when it is near full extension or full retraction is limited by one of three hard stop models. Fluid compressibility is optionally modeled in both piston chambers.

Ports A and B are isothermal liquid inlets. Port C represents the actuator casing, while piston velocity is returned at port R. When the piston position is calculated internally, it is reported at port p, and when the position is set by a connection to a Simscape™ Multibody™ joint, it is received as a physical signal at port p.

You can define the piston displacement direction with the Mechanical orientation parameter. If the mechanical orientation is set to ```Pressure at A causes positive displacement of R relative to C```, the piston extends when the pressure differential pApB is positive. If Mechanical orientation is set to ```Pressure at A causes negative displacement of R relative to C```, the piston retracts for a positive pressure difference between the liquid and gas chambers.

### Displacement

The piston displacement is measured as the position at port R relative to port C. The Mechanical orientation identifies the direction of piston displacement. The piston displacement is neutral, or `0`, when the chamber A volume is equal to the chamber dead volume. When displacement is received as an input, ensure that the derivative of the position is equal to the piston velocity. This is automatically the case when the input is received from a Translational Multibody Interface block connection to a Simscape Multibody joint.

### Hard Stop Model

To avoid mechanical damage to an actuator when it is fully extended or fully retracted, an actuator typically displays nonlinear behavior when the piston approaches these limits. The Double-Acting Actuator (IL) block models this behavior with a choice of three hard stop models, which model the material compliance through a spring-damper system. The hard stop models are:

• ```Stiffness and damping applied smoothly through transition region, damped rebound```.

• ```Full stiffness and damping applied at bounds, undamped rebound```.

• ```Full stiffness and damping applied at bounds, damped rebound```.

The hard stop force is modeled when the piston is at its upper or lower bound. The boundary region is within the Transition region of the Piston stroke or piston initial displacement. Outside of this region, ${F}_{HardStop}=0.$

For more information about these settings, see the Translational Hard Stop block page.

### Cushion

You can optionally model cushioning toward the extremes of the piston stroke. Modeling cylinder end cushioning slows the piston motion as it approaches its maximum extension within its respective chamber, which is defined in Piston stroke. For more information on the functionality of a cylinder cushion, see Cylinder Cushion (IL).

### Friction

You can optionally model friction against piston motion. When Cylinder friction effect is set to `On`, the resulting friction is a combination of Stribeck, Coulomb, and viscous effects. The pressure difference is measured between the chamber pressure and the environment pressure. For more information on the friction model and its limitations, see the Cylinder Friction block.

### Leakage

You can optionally model leakage between the liquid chambers and the piston reservoir. When Internal leakage is set to `On`, Poiseuille flow is modeled between the piston and cylinder. This block uses the Simscape Foundation Library Laminar Leakage (IL) block. The flow rate is calculated as:

`$\stackrel{˙}{m}=\frac{\frac{\pi }{128}\left({d}_{0}^{4}-{d}_{i}^{4}-\frac{{\left({d}_{0}^{2}-{d}_{i}^{2}\right)}^{2}}{\mathrm{log}\left({d}_{0}/{d}_{i}\right)}\right)}{\upsilon L}\left({p}_{A}-{p}_{env}\right),$`

where:

• ν is the fluid kinematic viscosity.

• L is the piston length, pP0.

• pA is the pressure at port A.

• penv is the environmental pressure, which is selected in the Environment pressure specification parameter.

The cylinder diameter, d0, is ${d}_{0}={d}_{i}+2c,$ where c is the Piston-cylinder clearance, and the piston diameter, di, is ${d}_{i}=\sqrt{\frac{4{A}_{P}}{\pi }},$ where AP is the average of the Piston cross-sectional area in chamber A and Piston cross-sectional area in chamber B parameters.

### Numerically-Smoothed Area and Pressure

At the extremes of the cushion A and B orifice areas and check valve pressure ranges, you can maintain numerical robustness in your simulation by adjusting the block . A smoothing function is applied to all calculated areas and valve pressures, but primarily influences the simulation at the extremes of these ranges.

The normalized orifice area is calculated as:

`$\stackrel{^}{A}=\frac{\left(A-{A}_{leak}\right)}{\left({A}_{\mathrm{max}}-{A}_{leak}\right)}.$`

where:

• Aleak is the cushion A and cushion B Leakage area between plunger and cushion sleeve.

• Amax is the cushion A and cushion B Cushion plunger cross-sectional area.

The Smoothing factor, f, is applied to the normalized area:

`${\stackrel{^}{A}}_{smoothed}=\frac{1}{2}+\frac{1}{2}\sqrt{{\stackrel{^}{A}}_{}^{2}+{\left(\frac{f}{4}\right)}^{2}}-\frac{1}{2}\sqrt{{\left(\stackrel{^}{A}-1\right)}^{2}+{\left(\frac{f}{4}\right)}^{2}}.$`

The smoothed orifice area is:

`${A}_{smoothed}={\stackrel{^}{A}}_{smoothed}\left({A}_{\mathrm{max}}-{A}_{leak}\right)+{A}_{leak}.$`

Similarly, the normalized valve pressure is:

`$\stackrel{^}{p}=\frac{\left(p-{p}_{cracking}\right)}{\left({p}_{\mathrm{max}}-{p}_{cracking}\right)}.$`

where:

• pcracking is the cushion Check valve cracking pressure differential.

• pmax is the cushion Check valve maximum pressure differential.

Smoothing applied to the normalized pressure is:

`${\stackrel{^}{p}}_{smoothed}=\frac{1}{2}+\frac{1}{2}\sqrt{{\stackrel{^}{p}}_{}^{2}+{\left(\frac{f}{4}\right)}^{2}}-\frac{1}{2}\sqrt{{\left(\stackrel{^}{p}-1\right)}^{2}+{\left(\frac{f}{4}\right)}^{2}},$`

and the smoothed pressure is:

`${p}_{smoothed}={\stackrel{^}{p}}_{smoothed}\left({p}_{\mathrm{max}}-{p}_{cracking}\right)+{p}_{cracking}.$`

### Block Schematic

The Double-Acting Actuator (IL) block comprises four Simscape Foundation blocks:

and two Isothermal Liquid library blocks:

## Ports

### Input

expand all

Physical signal input port associated with the piston position that you specify using a Simscape Multibody block.

#### Dependencies

To expose this port, set Piston displacement from chamber A cap to ```Provide input signal from Multibody joint```.

### Output

expand all

Physical signal port associated with the piston position.

#### Dependencies

To expose this port, set Piston displacement from chamber A cap to ```Calculate from velocity of port R relative to port C```.

### Conserving

expand all

Isothermal liquid conserving port associated with the inlet to chamber A.

Isothermal liquid conserving port associated with the inlet to chamber B.

Mechanical translational conserving port associated with the case.

Mechanical translational conserving port associated with the piston.

## Parameters

expand all

### Actuator

Sets the piston displacement direction. When you set this parameter to:

• ```Pressure at A causes positive displacement of R relative to C``` the piston displacement is positive when the volume of liquid at port A is expanding. This corresponds to rod extension.

• ```Pressure at A causes negative displacement of R relative to C``` the piston displacement is negative when the volume of liquid at port A is expanding. This corresponds to rod contraction.

Cross-sectional area of the piston rod on the chamber A side.

Cross-sectional area of the piston rod on the chamber B side.

Maximum piston travel distance.

Volume of liquid when the piston displacement is `0` in chamber A. This is the liquid volume when the piston is up against the actuator end cap.

Volume of liquid when the piston displacement is `0` in chamber B. This is the liquid volume when the piston is up against the actuator end cap.

Environment reference pressure. The ```Atmospheric pressure``` option sets the environmental pressure to 0.101325 MPa.

User-defined environmental pressure.

#### Dependencies

To enable this parameter, set Environment pressure specification to ```Specified pressure```.

Ratio of the breakaway force to the Coulomb friction force.

#### Dependencies

To enable this parameter, in the Friction tab, set Cylinder friction effect to `On`.

Threshold velocity for motion against friction force to begin.

#### Dependencies

To enable this parameter, in the Friction tab, set Cylinder friction effect to `On`.

### Hard Stop

Piston stiffness coefficient. This value must be greater than 0.

Piston damping coefficient.

Model choice for the force on the piston at full extension or full retraction. See the Translational Hard Stop block for more information.

Application range of the hard stop force model. Outside of this range of the piston maximum extension and piston maximum retraction, the Hard stop model is not applied and there is no additional force on the piston.

#### Dependencies

To enable this parameter, set Hard stop model to ```Stiffness and damping applied smoothly through transition region, damped rebound```.

### Converter Cushion A

Whether to model piston slow-down at maximum extension. See the Cylinder Cushion (IL) block for more information.

Area of the plunger inside the actuator cushion element.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

Length of the cushion plunger.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

Area of the orifice between cushion chambers.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

Gap area between the cushion plunger and sleeve. This value contributes to numerical stability by maintaining continuity in the flow.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

Pressure beyond which the valve operation is triggered. When the pressure difference between port A and Penv meets or exceeds the Check valve cracking pressure differential, the cushion valve begins to open.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

Maximum cushion valve differential pressure. This parameter provides an upper limit to the pressure so that system pressures remain realistic.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

Cross-sectional area of the cushion valve in its fully open position.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

Sum of all gaps when the cushion check valve is in a fully closed position. Any area smaller than this value is saturated to the specified leakage area. This value contributes to numerical stability by maintaining continuity in the flow.

#### Dependencies

To enable this parameter, set Cylinder A end cushioning to `On`.

### Converter Cushion B

Whether to model piston slow-down at maximum extension. See the Cylinder Cushion (IL) block for more information.

Area of the plunger inside the actuator cushion element.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Length of the cushion plunger.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Area of the orifice between cushion chambers.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Gap area between the cushion plunger and sleeve. This value contributes to numerical stability by maintaining continuity in the flow.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Pressure beyond which the valve operation is triggered. When the pressure difference between port A and Penv meets or exceeds the Check valve cracking pressure differential, the cushion valve begins to open.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Maximum cushion valve differential pressure. This parameter provides an upper limit to the pressure so that system pressures remain realistic.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Cross-sectional area of the cushion valve in its fully open position.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Sum of all gaps when the cushion check valve is in a fully closed position. Any area smaller than this value is saturated to the specified leakage area. This value contributes to numerical stability by maintaining continuity in the flow.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

Continuous smoothing factor that introduces a layer of gradual change to the flow response when the variable orifice and check valve are in near-open or near-closed positions. Set this value to a nonzero value less than one to increase the stability of your simulation in these regimes.

#### Dependencies

To enable this parameter, set Cylinder B end cushioning to `On`.

### Friction

Whether to model friction against piston motion. The model accounts for Coulomb, Stribeck, and viscous friction. See the Cylinder Friction block for more information.

Force on the cylinder when it is in the neutral position.

#### Dependencies

To enable this parameter, set Cylinder friction effect to `On`.

Coulomb force coefficient of friction.

#### Dependencies

To enable this parameter, set Cylinder friction effect to `On`.

Viscous friction coefficient.

#### Dependencies

To enable this parameter, set Cylinder friction effect to `On`.

### Leakage

Whether to model annular leakage between the fluid chamber and the piston reservoir at reference environment conditions. The leakage is considered laminar. See the Laminar Leakage (IL) block for more information.

Radial distance between the piston rod and cylinder casing.

#### Dependencies

To enable this parameter, set Internal leakage to `On`.

Annular length of the piston mounting, not including the piston rod.

#### Dependencies

To enable this parameter, set Internal leakage to `On`.

### Initial Conditions

Method for determining the piston position. The block can receive the position from a Multibody block when set to ```Provide input signal from Multibody joint```, or calculates the position internally and reports the position at port p. The position is between `0` and the Piston stroke when the mechanical orientation is positive and `0` and –Piston stroke when the mechanical orientation is negative.

Piston position with respect to the chamber A cap at the start of the simulation.

#### Dependencies

To enable this parameter, set Piston displacement from chamber A cap to ```Calculate from velocity of port R relative to port C```.

Whether to model any change in fluid density due to fluid compressibility. When Fluid compressibility is set to `On`, changes due to the mass flow rate into the block are calculated in addition to density changes due to changes in pressure. In the Isothermal Liquid Library, all blocks calculate density as a function of pressure.

Starting liquid pressure for compressible fluids.

#### Dependencies

To enable this parameter, set Fluid dynamic compressibility to `On`.

Starting liquid pressure for compressible fluids.

#### Dependencies

To enable this parameter, set Fluid dynamic compressibility to `On`.

## Version History

Introduced in R2020a