K_VALUE

This function computes a phase-equilibrium ratio K_i=\frac{y_i}{x_i} for one component using the most detailed available model based on the inputs provided.

Depending on available terms, it applies Raoult-law, modified Raoult-law, EOS-only, or combined gamma-phi relationships.

A common combined form is:

K_i = \frac{\gamma_i P_i^{sat}\phi_i^{l,ref}}{\phi_i^v P}

Excel Usage

=K_VALUE(pressure, saturation_pressure, phi_liquid, phi_vapor, gamma, poynting)
  • pressure (float, optional, default: null): System pressure (Pa).
  • saturation_pressure (float, optional, default: null): Component saturation pressure (Pa).
  • phi_liquid (float, optional, default: null): Liquid-phase fugacity coefficient (-).
  • phi_vapor (float, optional, default: null): Vapor-phase fugacity coefficient (-).
  • gamma (float, optional, default: null): Liquid-phase activity coefficient (-).
  • poynting (float, optional, default: 1): Poynting correction factor (-).

Returns (float): Equilibrium K-value for the component.

Example 1: Raoult law with pressure and saturation pressure

Inputs:

pressure saturation_pressure
101325 3000

Excel formula:

=K_VALUE(101325, 3000)

Expected output:

0.0296077

Example 2: Modified Raoult law with activity coefficient

Inputs:

pressure saturation_pressure gamma
101325 3000 0.9

Excel formula:

=K_VALUE(101325, 3000, 0.9)

Expected output:

0.0266469

Example 3: EOS-only K-value from fugacity coefficients

Inputs:

phi_liquid phi_vapor
1.6356 0.88427

Excel formula:

=K_VALUE(1.6356, 0.88427)

Expected output:

1.84966

Example 4: Gamma-phi model with poynting factor

Inputs:

pressure saturation_pressure phi_liquid phi_vapor gamma poynting
1000000 1938800 1.4356 0.88427 0.92 0.999

Excel formula:

=K_VALUE(1000000, 1938800, 1.4356, 0.88427, 0.92, 0.999)

Expected output:

2.89291

Python Code

Show Code
from chemicals.flash_basic import K_value as chemicals_k_value

def k_value(pressure=None, saturation_pressure=None, phi_liquid=None, phi_vapor=None, gamma=None, poynting=1):
    """
    Calculate a component equilibrium K-value from available pressure, fugacity, and activity inputs.

    See: https://chemicals.readthedocs.io/chemicals.flash_basic.html#chemicals.flash_basic.K_value

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

    Args:
        pressure (float, optional): System pressure (Pa). Default is None.
        saturation_pressure (float, optional): Component saturation pressure (Pa). Default is None.
        phi_liquid (float, optional): Liquid-phase fugacity coefficient (-). Default is None.
        phi_vapor (float, optional): Vapor-phase fugacity coefficient (-). Default is None.
        gamma (float, optional): Liquid-phase activity coefficient (-). Default is None.
        poynting (float, optional): Poynting correction factor (-). Default is 1.

    Returns:
        float: Equilibrium K-value for the component.
    """
    try:
        return chemicals_k_value(P=pressure, Psat=saturation_pressure, phi_l=phi_liquid, phi_g=phi_vapor, gamma=gamma, Poynting=poynting)
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

System pressure (Pa).
Component saturation pressure (Pa).
Liquid-phase fugacity coefficient (-).
Vapor-phase fugacity coefficient (-).
Liquid-phase activity coefficient (-).
Poynting correction factor (-).