CV_CHOKE_PRESS_LIQ

Overview

Calculates the pressure at which choked flow occurs in a liquid control valve.

Excel Usage

=CV_CHOKE_PRESS_LIQ(p_sat, p_crit, fl_factor, p_inlet, p_outlet)
  • p_sat (float, required): Saturation pressure (Pa)
  • p_crit (float, required): Critical pressure (Pa)
  • fl_factor (float, required): Liquid pressure recovery factor (-)
  • p_inlet (float, optional, default: null): Inlet pressure (Pa)
  • p_outlet (float, optional, default: null): Outlet pressure (Pa)

Returns (float): Choked pressure (Pa)

Examples

Example 1: Docs example (given P1)

Inputs:

p_sat p_crit fl_factor p_inlet
69682.89 22048320 0.6 680000

Excel formula:

=CV_CHOKE_PRESS_LIQ(69682.89, 22048320, 0.6, 680000)

Expected output:

458887.53

Example 2: Docs example (given P2)

Inputs:

p_sat p_crit fl_factor p_outlet
69682.89 22048320 0.6 458887.53

Excel formula:

=CV_CHOKE_PRESS_LIQ(69682.89, 22048320, 0.6, 458887.53)

Expected output:

680000

Example 3: Water at 100C

Inputs:

p_sat p_crit fl_factor p_inlet
101325 22064000 0.9 1000000

Excel formula:

=CV_CHOKE_PRESS_LIQ(101325, 22064000, 0.9, 1000000)

Expected output:

279532.75

Example 4: Ethanol at 25C

Inputs:

p_sat p_crit fl_factor p_inlet
7900 6140000 0.8 500000

Excel formula:

=CV_CHOKE_PRESS_LIQ(7900, 6140000, 0.8, 500000)

Expected output:

184080.37

Python Code

import micropip
await micropip.install(["fluids"])
from fluids.control_valve import control_valve_choke_P_l

def cv_choke_press_liq(p_sat, p_crit, fl_factor, p_inlet=None, p_outlet=None):
    """
    Calculates the pressure at which choked flow occurs in a liquid control valve.

    See: https://fluids.readthedocs.io/fluids.control_valve.html#fluids.control_valve.control_valve_choke_P_l

    This example function is provided as-is without any representation of accuracy.

    Args:
        p_sat (float): Saturation pressure (Pa)
        p_crit (float): Critical pressure (Pa)
        fl_factor (float): Liquid pressure recovery factor (-)
        p_inlet (float, optional): Inlet pressure (Pa) Default is None.
        p_outlet (float, optional): Outlet pressure (Pa) Default is None.

    Returns:
        float: Choked pressure (Pa)
    """
    if p_sat <= 0:
        return "Error: Saturation pressure must be positive."
    if p_crit <= 0:
        return "Error: Critical pressure must be positive."
    if fl_factor <= 0:
        return "Error: Liquid pressure recovery factor must be positive."

    if p_inlet is None and p_outlet is None:
        return "Error: Either inlet pressure or outlet pressure must be provided."

    try:
        return float(control_valve_choke_P_l(Psat=p_sat, Pc=p_crit, FL=fl_factor, P1=p_inlet, P2=p_outlet, check_choking=True))
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator