Main Content

Ball Valve (IL)

R2026b

Ball valve in an isothermal liquid network

Since R2022b

Libraries:
Simscape / Fluids / Isothermal Liquid / Valves & Orifices / Flow Control Valves

Description

The Ball Valve (IL) block represents a ball valve in an isothermal liquid network. A ball valve consists of a ball with a bore that can pivot inside of a valve body. When the valve is open, the bore fully overlaps with the valve body port. As the valve shuts, the ball rotates and reduces the amount of overlap, thereby reducing the effective area of the orifice. Ball valves are common for flow isolation purposes because they can securely shut off flow for many cycles. Ball valves are less common in applications where precise throttling is necessary.

You can parameterize the block analytically or by using tabulated data. When you set Opening characteristic to Area of overlapping circles, the block considers the area of the overlap between the valve port and the ball bore as the opening area such that

Aopen=sin(φ)Rbore2[cos1(λbore)λbore1λ2bore]+Rport2[cos1(λport)λport1λ2port]λbore=Rbore2Rport2+l22Rborelλport=Rport2Rbore2+l22Rportl

where:

  • Rport and Rbore are the radii of the valve port and the ball bore, respectively.

  • l is the displacement of the bore center from the valve port center.

  • φ is the rotation of the ball valve given by the physical signal S. The valve is fully shut at 0 rad and fully open at π/2 rad.

Mass Flow Rate

The block calculates flow through the valve using the pressure-area relationship for orifices such that

m˙=CdA2ρ¯Δp(Δp2+Δpcrit2)14,

where:

  • Cd is the discharge coefficient.

  • ρ¯ is the average fluid density.

  • A is the area open to flow, where A = Aopen + Aleak, and Aleak is the Leakage area parameter.

  • Δpcrit is the critical pressure differential associated with the critical Reynolds number, Recrit.

The block calculates Δpcrit as

Δpcrit=πρ¯8A(vRecritCd)2.

When you set Valve parameterization to Orifice area based on geometry, you can specify Cd using the Discharge coefficient parameter. When you set Valve parameterization to Cv flow coefficient, the block calculates Cd as

Cd=CvAρwater,60°F2ΔpCv,

where Cv is the Maximum Cv flow coefficient parameter. When you set Valve parameterization to Kv flow coefficient, the block uses

Cd=KvAρwater,15°C2ΔpKv,

where Kv is the Maximum Kv flow coefficient parameter. In either equation, ΔpCv is 1 psi and ΔpKv is 1 bar.

Examples

expand all

This example uses test harnesses to compare the Ball Valve (IL), Gate Valve (IL), and Poppet Valve (IL) blocks. A test harness is a minimum viable model that you can use to parameterize blocks or isolate dynamics.

Model

Simulation Results from Scopes

This figure shows the mass flow rate through each of the valves. All three valves start closed and slowly open before reaching their maximum area. At the maximum area, the mass flow rate also reaches its maximum and cannot increase further. Each curve has a different profile while opening because each valve has a different area profile that depends on the valve geometry.

Ports

Input

expand all

Physical signal port associated with the position of the valve, in rad. A value of 0 represents a fully shut valve and a value of π/2 represents a fully open valve.

Programmatic Use

Port: S

Conserving

expand all

Isothermal liquid conserving port associated with valve port A.

Programmatic Use

Port: A

Isothermal liquid conserving port associated with valve port B.

Programmatic Use

Port: B

Parameters

expand all

Whether to parameterize the flow using Kv, Cv, or Cd. The block uses these coefficient definitions:

  • Kv is the flow capacity of water through the fully open valve at 15℃ with a pressure drop of 1 bar, in m3/h.

  • Cv is the flow capacity of water through the fully open valve at 60℉ with a pressure drop of 1 psi, in gpm.

  • Cd is the unitless discharge coefficient that defines the efficiency of the valve.

Programmatic Use

Parameter: valve_parameterization
Values: "fluids.isothermal_liquid.valves_orifices.flow_control_valves.enum.ValveParameterization.Geometry" | "fluids.isothermal_liquid.valves_orifices.flow_control_valves.enum.ValveParameterization.Cv" | "fluids.isothermal_liquid.valves_orifices.flow_control_valves.enum.ValveParameterization.Kv"

Option to parameterize the block using the method of area of overlapping circles or to use tabulated data.

Programmatic Use

Parameter: opening_characteristic
Values: "fluids.isothermal_liquid.valves_orifices.flow_control_valves.enum.BallValveOpeningCharacteristics.OverlappingCircles" | "fluids.isothermal_liquid.valves_orifices.flow_control_valves.enum.BallValveOpeningCharacteristics.Tabulated"

Maximum value of the valve flow coefficient. This value should correspond to the fully open position.

Dependencies

To enable this parameter, set Opening characteristic to Area of overlapping circles and Valve parameterization to Cv flow coefficient.

Programmatic Use

Parameter: Cv_max

Maximum value of the valve flow factor. This value should correspond to the fully open position.

Dependencies

To enable this parameter, set Opening characteristic to Area of overlapping circles and Valve parameterization to Kv flow coefficient.

Programmatic Use

Parameter: Kv_max

Discharge coefficient of the valve. This value is a correction factor that accounts for losses in the theoretical flow.

Dependencies

To enable this parameter, set Valve parameterization to Orifice area based on geometry.

Programmatic Use

Parameter: Cd

Cross-sectional area of the valve ports. The valve ports are the paths in the valve body where the flow meets the ball bore.

Dependencies

To enable this parameter, set Opening characteristic to Area of overlapping circles.

Programmatic Use

Parameter: area_port

Cross-sectional area of the bore in the valve ball.

Dependencies

To enable this parameter, set Opening characteristic to Area of overlapping circles.

Programmatic Use

Parameter: area_ball

Valve flow coefficient for a given ball rotation. Each element corresponds one-to-one with the Ball rotation vector parameter. The first element corresponds to the valve leakage and must be nonzero.

Dependencies

To enable this parameter, set Opening characteristic to Tabulated and Valve parameterization to Cv flow coefficient.

Programmatic Use

Parameter: Cv_TLU

Valve flow factor for a given ball rotation. Each element corresponds one-to-one with the Ball rotation vector parameter. The first element corresponds to the valve leakage and must be nonzero.

Dependencies

To enable this parameter, set Opening characteristic to Tabulated and Valve parameterization to Kv flow coefficient.

Programmatic Use

Parameter: Kv_TLU

Flow area for a given ball rotation. Each element corresponds one-to-one with the Ball rotation vector parameter. The first element corresponds to the valve leakage and must be nonzero.

Dependencies

To enable this parameter, set Opening characteristic to Tabulated and Valve parameterization to Orifice area based on geometry.

Programmatic Use

Parameter: area_TLU

Ball rotation for a given flow coefficient or area. The elements is this vector must align one-to-one with the elements in either the Cv flow coefficient vector parameter, the Kv flow coefficient vector parameter, or the Area vector parameter.

Dependencies

To enable this parameter, set Opening characteristic to Tabulated.

Programmatic Use

Parameter: rotation_TLU

Sum of all gaps when the valve is in the fully shut position. The block saturates any area smaller than this value to the specified leakage area. This value contributes to numerical stability by maintaining continuity in the flow.

Dependencies

To enable this parameter, set Opening characteristic to Area of overlapping circles.

Programmatic Use

Parameter: area_leak

Upper Reynolds number limit for laminar flow through the valve.

Programmatic Use

Parameter: Re_c

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2022b

expand all