# Check Valve (IL)

**Libraries:**

Simscape /
Fluids /
Isothermal Liquid /
Valves & Orifices /
Directional Control Valves

## Description

The Check Valve (IL) block represents a check valve with free
flow from port **A** to port **B** and restricted flow
from port **B** to port **A**. When the pressure at
port **A** or the pressure differential 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 include
faults by setting **Enable faults** to
`On`

.

### Opening Parameterization

When **Opening parameterization** is set to ```
Linear -
Area vs. pressure
```

, 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}}.$$

When the valve is in a near-open or near-closed position
in the linear parameterization, you can maintain numerical robustness in your
simulation by adjusting the **Smoothing factor** parameter.
If the **Smoothing factor** parameter is nonzero, the block
smoothly saturates the control pressure between
*p _{cracking}* and

*p*. For more information, see Numerical Smoothing.

_{max}When you set **Opening parameterization** to
```
Tabulated data - Volumetric flow rate vs.
pressure
```

, *A _{valve}* is
the linearly interpolated value of the

**Opening area vector**parameter versus

**Pressure differential vector**parameter curve for a simulated pressure differential.

**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, clear the **Pressure recovery** check box. In this
case, *PR*_{loss} is 1.

### Tabulated Volumetric Flow Rate Parameterization

When **Opening parameterization** is set to
`Tabulated data - Volumetric flow rate vs. pressure`

,
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, the block clears the **Opening
dynamics** check box.

### Faults

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

You can populate the block with pre-parameterized manufacturing data, which allows you to model a specific supplier component.

To load a predefined parameterization:

In the block dialog box, next to

**Selected part**, click the "<click to select>" hyperlink next to**Selected part**in the block dialogue box settings.The Block Parameterization Manager window opens. Select a part from the menu and click

**Apply all**. You can narrow the choices using the**Manufacturer**drop down menu.You can close the

**Block Parameterization Manager**menu. The block now has the parameterization that you specified.You can compare current parameter settings with a specific supplier component in the Block Parameterization Manager window by selecting a part and viewing the data in the

**Compare selected part with block**section.

**Note**

Predefined block parameterizations use available data sources to supply parameter values. The block substitutes engineering judgement and simplifying assumptions for missing data. As a result, expect some deviation between simulated and actual physical behavior. To ensure accuracy, validate the simulated behavior against experimental data and refine your component models as necessary.

To learn more, see List of Pre-Parameterized Components.

## Ports

### Conserving

### Input

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2020a**