# Check Valve (TL)

Check valve in a thermal liquid network

**Libraries:**

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

## Description

The Check Valve (TL) block models a check valve in the
thermal liquid domain. A check valve is a proportional valve that shuts when the
pressure difference between its ports drops below a threshold called the
*cracking pressure*. Check valves are common in backflow
prevention devices, such as those used in public water supply networks, where
contaminated water downstream of a water main must not be allowed to return upstream.
The block does not assume a specific valve shutoff mechanism such as a ball, disc, or
diaphragm. The allowed direction of flow is always from port **A** to
port **B**.

The valve cracks open when the pressure drop across the valve rises above the specified cracking pressure. When the pressure drop reaches the maximum value specified in the block, the valve is fully open and its opening area no longer increases with pressure. The flow rate through the valve is never truly zero because a small leakage area remains when the pressure falls below the cracking pressure.

### Area vs. Pressure Parameterizations

You can parameterize the block using linear or tabulated area and pressure data.

**Linear Area vs Pressure Parameterization**

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

, the valve open area is linearly related to
the opening pressure differential. There are two options for valve control:

When

**Opening pressure differential**is`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 value of the**Cracking pressure differential**parameter.When

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

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

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, 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}**Tabulated Data Area vs Pressure Parameterization**

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

, the block linearly interpolates
*A _{valve}* from the curve of the

**Opening area vector**parameter versus the

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

For the tabulated data and linear area vs pressure parameterizations, the mass flow rate through the valve is

$$\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*is the value of the_{d}**Discharge coefficient**parameter.*A*is the instantaneous valve open area._{valve}*A*is the value of the_{port}**Cross-sectional area at ports A and B**parameter.$$\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**parameter,

*Re*, the flow regime transition point between laminar and turbulent flow:

_{crit}

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

The pressure loss is the reduction of pressure in the valve due to a decrease
in area. *PR _{loss}* is

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

The pressure recovery is the positive pressure change in the valve due to an
increase in area. If you do not want 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 ```
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**.

The mass flow rate is

$$\dot{m}=\overline{\rho}K\frac{\Delta p}{{\left(\Delta {p}^{2}+\Delta {p}_{crit}{}^{2}\right)}^{1/4}},$$

where:

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

$$\Delta p={p}_{A}-{p}_{B}.$$

$$\Delta {p}_{crit}=\frac{\pi \sqrt{2\overline{\rho}}}{8{C}_{d}K}{\left({\mathrm{Re}}_{crit}v\right)}^{2},$$ where

*C*is the discharge coefficient,_{d}*Re*is the critical Reynolds number, and_{crit}*ν*is the kinematic viscosity. In this parameterization,*C*and_{d}*Re*are fixed at_{crit}`0.64`

and`150`

, respectively.

When the block operates in the limits of the tabulated data,

$$K=tablelookup\left(\Delta {p}_{TLU},{K}_{TLU},\Delta p,interpolation=linear,extrapolation=nearest\right),$$

where:

*Δp*is the_{TLU}**Pressure drop vector**parameter.$${\text{K}}_{TLU}=\frac{{\dot{V}}_{TLU}}{\sqrt{\Delta {p}_{TLU}}},$$ where

*$$\dot{V}$$*is the_{TLU}**Volumetric flow rate vector**parameter.

When the simulation pressure falls below the first element of the
**Pressure drop vector** parameter,
*K*`=`

*K _{Leak}* ,

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

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

**Volumetric flow rate vector**parameter.

When the simulation pressure rises above the last element of the
**Pressure drop vector** parameter,
*K*`=`

*K _{Max}*,

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

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

**Volumetric flow rate vector**parameter.

### Mass Balance

Mass is conserved through the valve

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

where $$\dot{m}$$ is the mass flow rate at port **A** or
**B**.

### Energy Balance

The valve is an adiabatic component. No heat exchange can occur between the fluid
and the wall of the valve. No work is done on or by the fluid as it traverses the
valve. With these assumptions, energy can enter and exit the valve only by
advection, through ports **A** and **B**. By the
principle of conservation of energy, the sum of the energy flows through the ports
must always equal zero,

$${\varphi}_{\text{A}}+{\varphi}_{\text{B}}=0,$$

where *ϕ* is the energy flow rate into the valve through ports
**A** or **B**.

### Opening Dynamics

When **Opening parameterization** is ```
Linear- Area
vs. Pressure
```

, the block can model opening and closing dynamics. If
you model opening dynamics, the block introduces a lag to the flow response to the
control pressure and *p _{control}* becomes the
dynamic control pressure,

*p*. Otherwise,

_{dyn}*p*is the steady-state pressure. The block calculates the instantaneous change in dynamic control pressure based on the

_{control}**Opening time constant**parameter,

*τ*:

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

By default, the **Opening dynamics** check box
is cleared.

### Faults

To model a fault, in the **Faults** section,
click the **Add fault** hyperlink next to the fault that you want to model. Use
the fault parameters to specify the fault properties. For more information about fault modeling,
see Introduction to Simscape Faults.

The **Opening area when faulted** parameter has three options:

`Closed`

`Open`

`Maintain at last value`

After the fault triggers, the valve remains at the faulted area for the rest of the simulation.

**Faulting in the Linear Parameterization**

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

, the valve area defines the fault options:

`Closed`

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

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

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

**Faulting in the Tabulated Data Parameterization**

When **Opening parameterization** is ```
Tabulated
data - Area vs. pressure
```

or ```
Tabulated data -
Volumetric flow rate vs. pressure
```

, the mass flow rate through
the valve defines the fault options:

`Closed`

— The valve freezes at the mass flow rate associated with the first elements of the**Volumetric flow rate vector**parameter and the**Pressure drop vector**parameters$$\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**parameters$$\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.

## Examples

## Ports

### Conserving

## Parameters

## Extended Capabilities

## Version History

**Introduced in R2016a**