# 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`

.

### Area 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 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, set the **Pressure recovery** to
`Off`

. 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, **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:

$${p}_{smoothed}={\widehat{p}}_{smoothed}\left({p}_{\mathrm{max}}-{p}_{set}\right)+{p}_{set}.$$

### 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-parameterized manufacturer data is available for this block. This data allows you to model a specific supplier component.

To load a predefined parameterization,

Click the "Select a predefined parameterization" hyperlink in the property inspector 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 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

## Version History

**Introduced in R2020a**