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 (-).