# Check Valve (IL)

Check valve in an isothermal system

**Library:**Simscape / Fluids / Isothermal Liquid / Valves & Orifices / Directional Control Valves

## Description

The Check Valve (IL) block models the flow through a valve from port
**A** to port **B**, and restricts flow from
traveling from port **B** to port **A**. When the
pressure at port **B** meets or exceeds the set pressure threshold, the
valve begins to open.

You can model valve opening either linearly or by tabulated data, and you can enable faulty
behavior by setting **Enable faults** to
`On`

.

### Linear Parameterization

When **Opening parameterization** is set to
`Linear`

, the valve open area is linearly related to
the opening pressure differential.

**Opening Pressure**

There are two options for valve control:

When

**Opening pressure differential**is set to`Pressure differential`

, the control pressure is the pressure differential between ports**A**and**B**. The valve begins to open when*P*_{control}meets or exceeds the**Cracking pressure differential**.When

**Opening pressure differential**is set to`Pressure at port A`

, the control pressure is the pressure difference between port**A**and atmospheric pressure. When*P*_{control}meets or exceeds the**Cracking pressure (gauge)**, the valve begins to open.

**Opening Area and Pressure**

The linear parameterization of the valve area is

$${A}_{valve}=\widehat{p}\left({A}_{\mathrm{max}}-{A}_{leak}\right)+{A}_{leak},$$

where the normalized pressure, $$\widehat{p}$$, is

$$\widehat{p}=\frac{{p}_{control}-{p}_{cracking}}{{p}_{\mathrm{max}}-{p}_{cracking}}.$$

**Mass Flow Rate Equation**

Mass is conserved through the valve:

$${\dot{m}}_{A}+{\dot{m}}_{B}=0.$$

The mass flow rate through the valve is calculated as:

$$\dot{m}=\frac{{C}_{d}{A}_{valve}\sqrt{2\overline{\rho}}}{\sqrt{P{R}_{loss}\left(1-{\left(\frac{{A}_{valve}}{{A}_{port}}\right)}^{2}\right)}}\frac{\Delta p}{{\left[\Delta {p}^{2}+\Delta {p}_{crit}^{2}\right]}^{1/4}},$$

where:

*C*_{d}is the**Discharge coefficient**.*A*_{valve}is the instantaneous valve open area.*A*_{port}is the**Cross-sectional area at ports A and B**.$$\overline{\rho}$$ is the average fluid density.

*Δp*is the valve pressure difference*p*_{A}–*p*_{B}.

The critical pressure difference,
*Δp*_{crit}, is the pressure
differential associated with the **Critical Reynolds number**,
*Re*_{crit}, the flow regime transition
point between laminar and turbulent flow:

$$\Delta {p}_{crit}=\frac{\pi \overline{\rho}}{8{A}_{valve}}{\left(\frac{\nu {\mathrm{Re}}_{crit}}{{C}_{d}}\right)}^{2}.$$

*Pressure loss* describes the reduction of pressure in the
valve due to a decrease in area.
*PR*_{loss} is calculated as:

$$P{R}_{loss}=\frac{\sqrt{1-{\left(\frac{{A}_{valve}}{{A}_{port}}\right)}^{2}\left(1-{C}_{d}^{2}\right)}-{C}_{d}\frac{{A}_{valve}}{{A}_{port}}}{\sqrt{1-{\left(\frac{{A}_{valve}}{{A}_{port}}\right)}^{2}\left(1-{C}_{d}^{2}\right)}+{C}_{d}\frac{{A}_{valve}}{{A}_{port}}}.$$

*Pressure recovery* describes the positive pressure change
in the valve due to an increase in area. If you do not wish to capture this
increase in pressure, set the **Pressure recovery** to
`Off`

. In this case,
*PR*_{loss} is 1.

### Tabulated Data Parameterization

When **Opening parameterization** is set to
`Tabulated data`

, the valve opens according to the
user-provided tabulated data of volumetric flow rate and pressure differential
between ports **A** and **B**.

Within the limits of the tabulated data, the mass flow rate is calculated as:

$$\dot{m}=\overline{\rho}\dot{V},$$

where:

$$\dot{V}$$ is the volumetric flow rate.

$$\overline{\rho}$$ is the average fluid density.

When the simulation pressure falls below the first element of the
**Pressure drop vector**,
*Δp _{TLU}(1)*, the mass flow rate is
calculated as:

$$\dot{m}={K}_{Leak}\overline{\rho}\sqrt{\Delta p}.$$

$${K}_{Leak}=\frac{{V}_{TLU}(1)}{\sqrt{\left|\Delta {p}_{TLU}(1)\right|}},$$

where *V _{TLU}(1)* is the
first element of the

**Volumetric flow rate vector**.

When the simulation pressure rises above the last element of the
**Pressure drop vector**,
*Δp _{TLU}(end)*, the mass flow rate is
calculated as:

$$\dot{m}={K}_{Max}\overline{\rho}\sqrt{\Delta p}.$$

$${K}_{Max}=\frac{{V}_{TLU}(end)}{\sqrt{\left|\Delta {p}_{TLU}(end)\right|}},$$

where *V _{TLU}(end)* is the
last element of the

**Volumetric flow rate vector**.

### Opening Dynamics

The linear parameterization supports valve opening and closing dynamics. If opening
dynamics are modeled, a lag is introduced to the flow response to the modeled
control pressure. *p*_{control} becomes the
dynamic control pressure, *p*_{dyn}; otherwise,
*p*_{control} is the steady-state pressure.
The instantaneous change in dynamic control pressure is calculated based on the
**Opening time constant**, *τ*:

$${\dot{p}}_{dyn}=\frac{{p}_{control}-{p}_{dyn}}{\tau}.$$

By default, **Opening dynamics** is set to
`Off`

.

### Numerically-Smoothed Pressure

At the extremes of the control pressure range, you can maintain numerical
robustness in your simulation by adjusting the block **Smoothing
factor**. A smoothing function is applied to every calculated control
pressure, but primarily influences the simulation at the extremes of this range.

The **Smoothing factor**, *s*, is applied to the
normalized pressure, $$\widehat{p}$$:

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

and the smoothed pressure is:

### Faulty Behavior

When faults are enabled, the valve open area becomes stuck at a specified value in response to one or both of these triggers:

Simulation time — Faulting occurs at a specified time.

Simulation behavior — Faulting occurs in response to an external trigger. This exposes port

**T**.

Three fault options are available in the **Opening area when faulted** parameter:

`Closed`

`Open`

`Maintain at last value`

Once triggered, the valve remains at the faulted area for the rest of
the simulation. You can set the block to issue a fault report as a warning or error
message in the Simulink Diagnostic Viewer with the **Reporting when fault
occurs** parameter.

**Faulting in the Linear Parameterization**

In the linear parameterization, the fault options are defined by the valve area:

`Closed`

— The valve area freezes at the**Leakage area**.`Open`

— The valve area freezes at the**Maximum opening area**.`Maintain at last value`

— The valve freezes at the open area when the trigger occurs.

**Faulting in the Tabulated Data Parameterization**

In the tabulated parameterization, the fault options are defined by the mass flow rate through the valve:

`Closed`

— The valve freezes at the mass flow rate associated with the first elements of the**Volumetric flow rate vector**and the**Pressure drop vector**:$$\dot{m}={K}_{Leak}\overline{\rho}\sqrt{\Delta p}.$$

`Open`

— The valve freezes at the mass flow rate associated with the last elements of the**Volumetric flow rate vector**and the**Pressure drop vector**:$$\dot{m}={K}_{Max}\overline{\rho}\sqrt{\Delta p}.$$

`Maintain at last value`

— The valve freezes at the mass flow rate and pressure differential when the trigger occurs:$$\dot{m}={K}_{Last}\overline{\rho}\sqrt{\Delta p},$$

where

$${K}_{Last}=\frac{\left|\dot{m}\right|}{\overline{\rho}\sqrt{\left|\Delta p\right|}}.$$

### Predefined Parameterization

Pre-parameterization of the Check Valve (IL) block with manufacturer data is available. This data allows you to model a specific supplier component.

To load a predefined parameterization,

Click the "Select a predefined parameterization" hyperlink in the Check Valve (IL) block dialog description.

Select a part from the drop-down menu and click

**Update block with selected part**.If you change any parameter settings after loading a parameterization, you can check your changes by clicking

**Compare block settings with selected part**. Any difference in settings between the block and pre-defined parameterization will display in the MATLAB command window.

**Note**

Predefined parameterizations of Simscape components use available data sources for supplying parameter values. Engineering judgement and simplifying assumptions are used to fill in for missing data. As a result, deviations between simulated and actual physical behavior should be expected. To ensure requisite accuracy, you should validate simulated behavior against experimental data and refine component models as necessary.

## Ports

### Conserving

### Input

## Parameters

## See Also

Pilot-Operated Check Valve (IL) | Pressure Relief Valve (IL) | Counterbalance Valve (IL) | Pressure Compensator Valve (IL)

**Introduced in R2020a**