Main Content

Double-Acting Actuator (IL)

R2026b

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

  • Double-Acting Actuator (IL) block

Libraries:
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 four 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 four 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.

  • Based on coefficient of restitution

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, FHardStop=0.

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

Cushion

The block can model cushioning toward the extremes of the piston stroke. Select Cylinder end cushioning to slow the piston motion as it approaches the maximum extension, defined by the Piston stroke parameter. For more information on the functionality of a cylinder cushion, see the Cylinder Cushion (IL) block.

Friction

The block can model friction against piston motion. When you select Cylinder friction, the resulting friction is a combination of the Stribeck, Coulomb, and viscous effects. The block measures the pressure difference between the chamber pressure and the environment pressure. For more information on the friction model and its limitations, see the Cylinder Friction (IL) block.

Numerically-Smoothed Area and Pressure

You can maintain numerical robustness in your simulation by adjusting the Smoothing factor parameter. If the Smoothing factor parameter is nonzero, the block smooths the cushion A and B orifice areas and the check valve pressure ranges. The orifice area is smoothly saturated between the cushion A and cushion B Leakage area between plunger and cushion sleeve and Cushion plunger cross-sectional area parameters while the valve pressure is saturated between the cushion A and cushion B Check valve cracking pressure differential and Check valve maximum pressure differential parameters. For more information, see Numerical Smoothing.

Block Schematic

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

and two Isothermal Liquid library blocks:

This figure shows how the components connect to model the actuator block if you select Cylinder A end cushioning, Cylinder B end cushioning, Cylinder friction effect, and Same fluid on both sides.

Composite diagram schematic

Momentum Balance

The momentum conservation equation for the actuator is

F= ε(SApASBpBSRodpenv)

where:

  • F is the force the liquid exerts on the converter interface. This force expression does not account for the force contributions due to the hard stop, cylinder cushions, or cylinder friction subcomponents. To see those force contributions to the converter interface, see the documentation pages for those subcomponents.

  • ε depends on the Mechanical orientation of the converter. If Mechanical orientation is Pressure at A causes positive displacement of R relative to C, ε = 1. If Mechanical orientation is Pressure at A causes negative displacement of R relative to C, ε = -1.

  • SRod is the rod cross-sectional area whereSRod=SASB.

  • SA is the value of the Piston cross-sectional area in chamber A parameter.

  • SB is the value of the Piston cross-sectional area in chamber B parameter.

  • pA is the pressure inside chamber A.

  • pB is the pressure inside chamber B.

  • penv is the environment pressure.

Examples

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.

Programmatic Use

Port: p_in

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.

Programmatic Use

Port: p_out

Conserving

expand all

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

Programmatic Use

Port: A

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

Programmatic Use

Port: B

Mechanical translational conserving port associated with the case.

Programmatic Use

Port: C

Mechanical translational conserving port associated with the piston.

Programmatic Use

Port: R

Parameters

expand all

Actuator

Whether to model the same fluid in both actuator chambers. If you select this parameter, the actuator propagates fluid properties through both chambers. Clear this parameter to model each chamber as a different fluid, where each chamber is connected to an isolated fluid network.

Programmatic Use

Parameter: single_fluid
Values: "true" | "false"

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.

Programmatic Use

Parameter: mech_orientation
Values: "foundation.enum.MechOrientationTranslational.Positive" | "foundation.enum.MechOrientationTranslational.Negative"

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

Programmatic Use

Parameter: piston_area_A

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

Programmatic Use

Parameter: piston_area_B

Maximum piston travel distance.

Programmatic Use

Parameter: stroke

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.

Programmatic Use

Parameter: dead_volume_A

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.

Programmatic Use

Parameter: dead_volume_B

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

Programmatic Use

Parameter: pressure_spec
Values: "foundation.enum.pressure_spec.atmospheric" | "foundation.enum.pressure_spec.specified"

User-defined environmental pressure.

Dependencies

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

Programmatic Use

Parameter: environment_pressure

Hard Stop

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

Programmatic Use

Parameter: hardstop_model
Values: "simscape.enum.hardstop.smooth" | "simscape.enum.hardstop.fullundamped" | "simscape.enum.hardstop.fulldamped" | "simscape.enum.hardstop.modechart"

Piston stiffness coefficient.

Dependencies

To enable this parameter, set Hard stop model to

  • 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

Programmatic Use

Parameter: stiff_coeff

Piston damping coefficient.

Dependencies

To enable this parameter, set Hard stop model to

  • 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

Programmatic Use

Parameter: damping_coeff

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.

Programmatic Use

Parameter: transition

Ratio of the final to the initial relative speed between the slider and the stop after the slider bounces.

Dependencies

To enable this parameter, set Hard stop model to Based on coefficient of restitution.

Programmatic Use

Parameter: coeff_rest

Threshold relative speed between slider and stop before collision. When the slider hits the case with speed less than the value of the Static contact speed threshold parameter, they stay in contact. Otherwise, the slider bounces. To avoid modeling static contact between the slider and the case, set this parameter to 0.

Dependencies

To enable this parameter, set Hard stop model to Based on coefficient of restitution.

Programmatic Use

Parameter: v_tol

Minimum force needed to release the slider from a static contact mode.

Dependencies

To enable this parameter, set Hard stop model to Based on coefficient of restitution.

Programmatic Use

Parameter: f_tol

Converter Cushion A

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

Programmatic Use

Parameter: cushion_A_spec
Values: "true" | "false"

Area of the plunger inside the actuator cushion element.

Dependencies

To enable this parameter, select Cylinder A end cushioning.

Programmatic Use

Parameter: area_plunger_A

Length of the cushion plunger.

Dependencies

To enable this parameter, select Cylinder A end cushioning.

Programmatic Use

Parameter: length_plunger_A

Area of the orifice between the cushion chambers.

Dependencies

To enable this parameter, select Cylinder A end cushioning.

Programmatic Use

Parameter: area_cushion_orifice_A

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, select Cylinder A end cushioning.

Programmatic Use

Parameter: area_leak_plunger_A

Pressure beyond which the valve operation triggers. When the pressure difference between port A and Penv meets or exceeds the value of this parameter, the cushion valve begins to open.

Dependencies

To enable this parameter, select Cylinder A end cushioning.

Programmatic Use

Parameter: p_crack_differential_A

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, select Cylinder A end cushioning.

Programmatic Use

Parameter: press_max_differential_A

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

Dependencies

To enable this parameter, select Cylinder A end cushioning.

Programmatic Use

Parameter: check_valve_area_max_A

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

Dependencies

To enable this parameter, select Cylinder A end cushioning.

Programmatic Use

Parameter: check_valve_area_leak_A

Converter Cushion B

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

Programmatic Use

Parameter: cushion_B_spec
Values: "true" | "false"

Area of the plunger inside the actuator cushion element.

Dependencies

To enable this parameter, select Cylinder B end cushioning.

Programmatic Use

Parameter: area_plunger_B

Length of the cushion plunger.

Dependencies

To enable this parameter, select Cylinder B end cushioning.

Programmatic Use

Parameter: length_plunger_B

Area of the orifice between the cushion chambers.

Dependencies

To enable this parameter, select Cylinder B end cushioning.

Programmatic Use

Parameter: area_cushion_orifice_B

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, select Cylinder B end cushioning.

Programmatic Use

Parameter: area_leak_plunger_B

Pressure beyond which the valve operation triggers. When the pressure difference between port A and Penv meets or exceeds the value of this parameter, the cushion valve begins to open.

Dependencies

To enable this parameter, select Cylinder B end cushioning.

Programmatic Use

Parameter: p_crack_differential_B

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, select Cylinder B end cushioning.

Programmatic Use

Parameter: press_max_differential_B

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

Dependencies

To enable this parameter, select Cylinder B end cushioning.

Programmatic Use

Parameter: check_valve_area_max_B

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

Dependencies

To enable this parameter, select Cylinder B end cushioning.

Programmatic Use

Parameter: check_valve_area_leak_B

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, select Cylinder B end cushioning.

Programmatic Use

Parameter: smoothing_factor_A

Friction

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

Programmatic Use

Parameter: friction_spec
Values: "true" | "false"

Ratio of the breakaway force to the Coulomb friction force.

Dependencies

To enable this parameter, select Cylinder friction.

Programmatic Use

Parameter: breakaway_Coulomb_ratio

Threshold velocity for the motion against the friction force to begin.

Dependencies

To enable this parameter, select Cylinder friction.

Programmatic Use

Parameter: breakaway_velocity

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

Dependencies

To enable this parameter, select Cylinder friction effect.

Programmatic Use

Parameter: preload_force

Coulomb force coefficient of friction.

Dependencies

To enable this parameter, select Cylinder friction effect.

Programmatic Use

Parameter: Coulomb_coeff

Viscous friction coefficient.

Dependencies

To enable this parameter, select Cylinder friction effect.

Programmatic Use

Parameter: viscous_coeff

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.

Programmatic Use

Parameter: displacement_spec
Values: "foundation.enum.DisplacementSpec.Calculate" | "foundation.enum.DisplacementSpec.InputSignal"

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.

Programmatic Use

Parameter: x0

Whether to model the dynamic compressibility of the liquid. Dynamic compressibility affects the transient response of the system at small timescales. If you select this parameter, the pressure responds dynamically based on the accumulation of fluid mass in the volume. If you clear this parameter, the volume does not accumulate mass and the pressure response is instantaneous. Clearing this setting can improve simulation performance, but may have a negative effect on the simulation robustness. Only clear this setting for small fluid volumes or models with long simulation times.

Programmatic Use

Parameter: dynamic_compressibility
Values: "true" | "false"

Starting liquid pressure for compressible fluids.

Dependencies

To enable this parameter, select Enable dynamic compressibility.

Programmatic Use

Parameter: p0_A

Starting liquid pressure for compressible fluids.

Dependencies

To enable this parameter, select Enable dynamic compressibility.

Programmatic Use

Parameter: p0_B

Liquid pressure at nominal operating conditions in chamber A. The block uses this value to calculate the nominal density to use in the mass conservation equation when dynamic compressibility is disabled.

Dependencies

To enable this parameter, clear the Enable dynamic compressibility checkbox.

Programmatic Use

Parameter: p_nominal_A

Liquid pressure at nominal operating conditions in chamber B. The block uses this value to calculate the nominal density to use in the mass conservation equation when dynamic compressibility is disabled.

Dependencies

To enable this parameter, clear the Enable dynamic compressibility checkbox.

Programmatic Use

Parameter: p_nominal_B

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2020a

expand all