# Orifice (IL)

Constant-area or variable-area orifice in an isothermal system

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

## Description

The Orifice (IL) block models the flow through a local
restriction with a constant or variable opening area. For variable orifices, a control
member connected to port **S** sets the opening position. The opening
area is parametrized either linearly or by lookup table.

For orifices that open and close based on the displacement of a central spool, see Spool Orifice (IL).

You can enable faulty behavior by setting **Enable faults** to
`On`

.

The block conserves mass such that

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

This mass balance implies that there is an increase in velocity when there is a decrease in
area, and a reduction in velocity when the flow discharges into a larger area. In
accordance with the Bernoulli principle, this change in velocity results in a region of
lower pressure in the orifice and a higher pressure in the expansion zone. The resulting
increase in pressure, which is called *pressure recovery*, depends on
the discharge coefficient of the orifice and the ratio of the orifice and port
areas.

### Constant Orifices

For constant orifices, the orifice area,
*A*_{orifice}, does not change over the
course of the simulation.

**Using the**

`Constant`

Area ParameterizationThe block calculates the mass flow rate as

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

where:

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

*PR*_{loss} and
*Δp*_{crit} are calculated in the same
manner for constant and variable orifices and are defined in the Pressure Loss and Critical Pressure sections
below.

This approximation for $$\dot{m}$$ and the Local Restriction (IL) block are the same.

**Using the**

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

ParameterizationThe volumetric flow rate is determined from the tabular values of the pressure
differential, *Δp*, which you can provide. If only non-negative
values are provided for both the volumetric flow rate and pressure drop vectors,
the table will be extrapolated to contain negative values. The volumetric flow
rate is interpolated from this extended table.

### Variable Orifices

For variable orifices, setting **Opening orientation** to
`Positive control member displacement opens orifice`

opens the orifice when the signal at **S** is positive, while a
`Negative control member displacement opens orifice`

orientation opens the orifice when the signal at **S** is negative.
In both cases, the signal is positive and the orifice opening is set by the
magnitude of the signal.

**Using the**

`Linear - Area vs. control member position`

ParameterizationThe orifice area *A*_{orifice} is based on the
control member position and the ratio of orifice area and maximum control member
position:

$${A}_{orifice}=\frac{\left({A}_{\mathrm{max}}-{A}_{leak}\right)}{\Delta S}\left(S-{S}_{\mathrm{min}}\right)\epsilon +{A}_{leak},$$

where:

*S*_{min}is the control member position when the orifice is fully closed.*ΔS*is the**Control member travel between closed and open orifice**.*A*_{max}is the**Maximum orifice area**.*A*_{leak}is the**Leakage area**.*ε*is the**Opening orientation**.

The volumetric flow rate is determined by the pressure-flow rate equation:

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

where *A* is the **Cross-sectional
area at ports A and B**.

**Using the**

`Tabulated data - Area vs. control member position`

ParameterizationWhen you use the ```
Tabulated data - Area vs. control member
position
```

parameterization, the orifice area
*A*_{orifice} is interpolated from the
tabular values of opening area and the control member position,
*ΔS*, which you can provide. As with the
`Linear - Area vs. control member position`

parameterization, the volumetric flow rate is determined by the pressure-flow
rate equation:

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

where *A*_{orifice} is:

*A*_{max}, the last element of the**Orifice area vector**, if the opening is larger than the maximum specified opening.*A*_{leak}, the first element of the**Orifice area vector**, if the orifice opening is less than the minimum opening.*A*_{orifice}if the calculated area is between the limits of the**Orifice area vector**.

*A*_{open} is a function of
the control member position received at port **S**. The block
queries between data points with linear interpolation and uses nearest
extrapolation for points beyond the table boundaries.

**Using the**

```
Tabulated data - Volumetric flow rate vs. control
member position and pressure drop
```

ParameterizationThe ```
Tabulated data - Volumetric flow rate vs. control member
position and pressure drop
```

parameterization interpolates the
volumetric flow rate directly from a user-provided volumetric flow rate table,
which is based on the control member position and pressure drop over the
orifice. The block queries between data points with linear interpolation and
uses linear extrapolation for points beyond the table boundaries.

This data can include negative pressure drops and negative opening values. If a negative pressure drop is included in the dataset, the volumetric flow rate will change direction. However, the flow rate will remain unchanged for negative opening values.

**Numerically-Smoothed Valve Area**

When a linearly-parameterized variable orifice is in the near-open or
near-closed position, you can maintain numerical robustness in your simulation
by adjusting the block **Smoothing factor**. A smoothing
function is applied to all calculated areas, but primarily influences the
simulation at the extremes of the valve area.

The normalized area is calculated as:

$$\widehat{A}=\frac{\left({A}_{orifice}-{A}_{leak}\right)}{\left({A}_{\mathrm{max}}-{A}_{leak}\right)}.$$

The **Smoothing factor**,
*s*, is applied to the normalized area:

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

The smoothed valve area is:

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

### Pressure Loss

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

$$P{R}_{loss}=\frac{\sqrt{1-{\left(\frac{{A}_{orifice}}{{A}_{port}}\right)}^{2}\left(1-{C}_{d}^{2}\right)}-{C}_{d}\frac{{A}_{orifice}}{{A}_{port}}}{\sqrt{1-{\left(\frac{{A}_{orifice}}{{A}_{port}}\right)}^{2}\left(1-{C}_{d}^{2}\right)}+{C}_{d}\frac{{A}_{orifice}}{{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 **Pressure recovery** to
`Off`

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

### Critical Pressure

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

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

### Faulty Behavior

When **Orifice type** is set to `Variable`

and
faults are enabled, the orifice 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`

— The orifice freezes at its smallest value, depending on the**Orifice parameterization**:When

**Orifice parameterization**is set to`Linear - Area vs. control member position`

, the orifice freezes at the**Leakage area**.When

**Orifice parameterization**is set to`Tabulated data - Area vs. control member position`

, the orifice freezes at the first element of the**Orifice area vector**.When

**Orifice parameterization**is set to`Tabulated data - Volumetric flow rate vs. control member position and pressure drop`

, the orifice freezes at the first row of the**Volumetric flow rate table, q(s,dp)**.

`Open`

— The orifice freezes at its largest value, depending on the**Orifice parameterization**:When

**Orifice parameterization**is set to`Linear - Area vs. control member position`

, the orifice freezes at the**Maximum orifice area**.When

**Orifice parameterization**is set to`Tabulated data - Area vs. control member position`

, the orifice freezes at the last element of the**Orifice area vector**.When

**Orifice parameterization**is set to`Tabulated data - Volumetric flow rate vs. control member position and pressure drop`

, the orifice freezes at the last row of the**Volumetric flow rate table, q(s,dp)**.

`Maintain at last value`

— The orifice seizes at the open area or volumetric flow rate when the trigger occurs.

Due to numerical smoothing at the extremes of the orifice area, the
minimum area applied is larger than the parameter value, and the maximum is smaller
than the parameter value, in proportion to the **Smoothing factor**
value.

Once triggered, the orifice 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.

## Ports

### Conserving

### Input

## Parameters

## Model Examples

## Version History

**Introduced in R2020a**