PRSV

This function initializes a pure-component Peng-Robinson-Stryjek-Vera EOS using critical properties and optional fit parameter \kappa_1.

With two of temperature, pressure, and molar volume specified, it solves the state and returns key phase and volume properties.

Excel Usage

=PRSV(critical_temperature, critical_pressure, omega, temperature, pressure, molar_volume, kappa_one)
  • critical_temperature (float, required): Critical temperature (K).
  • critical_pressure (float, required): Critical pressure (Pa).
  • omega (float, required): Acentric factor (-).
  • temperature (float, optional, default: null): Temperature (K).
  • pressure (float, optional, default: null): Pressure (Pa).
  • molar_volume (float, optional, default: null): Molar volume (m^3/mol).
  • kappa_one (float, optional, default: null): PRSV fit parameter kappa1 (-).

Returns (list[list]): 2D array with EOS phase and selected state properties.

Example 1: Temperature-pressure initialization with kappa1

Inputs:

critical_temperature critical_pressure omega temperature pressure kappa_one
507.6 3025000 0.2975 299 1000000 0.05104

Excel formula:

=PRSV(507.6, 3025000, 0.2975, 299, 1000000, 0.05104)

Expected output:

Property Value
phase l
T 299
P 1000000
V_l 0.000130127
V_g
Example 2: Temperature-pressure initialization without kappa1

Inputs:

critical_temperature critical_pressure omega temperature pressure
507.6 3025000 0.2975 320 1000000

Excel formula:

=PRSV(507.6, 3025000, 0.2975, 320, 1000000)

Expected output:

Property Value
phase l
T 320
P 1000000
V_l 0.000133867
V_g
Example 3: Temperature-volume initialization

Inputs:

critical_temperature critical_pressure omega temperature molar_volume kappa_one
507.6 3025000 0.2975 299 0.000130126913554 0.05104

Excel formula:

=PRSV(507.6, 3025000, 0.2975, 299, 0.000130126913554, 0.05104)

Expected output:

Property Value
phase l
T 299
P 1000000
V_l 0.000130127
V_g
Example 4: Pressure-volume initialization

Inputs:

critical_temperature critical_pressure omega pressure molar_volume kappa_one
507.6 3025000 0.2975 1000000 0.000130126913554 0.05104

Excel formula:

=PRSV(507.6, 3025000, 0.2975, 1000000, 0.000130126913554, 0.05104)

Expected output:

Property Value
phase l
T 299
P 1000000
V_l 0.000130127
V_g

Python Code

Show Code
from thermo.eos import PRSV as thermo_prsv

def prsv(critical_temperature, critical_pressure, omega, temperature=None, pressure=None, molar_volume=None, kappa_one=None):
    """
    Solve pure-component PRSV EOS and return key phase-state properties.

    See: https://thermo.readthedocs.io/thermo.eos.html#thermo.eos.PRSV

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

    Args:
        critical_temperature (float): Critical temperature (K).
        critical_pressure (float): Critical pressure (Pa).
        omega (float): Acentric factor (-).
        temperature (float, optional): Temperature (K). Default is None.
        pressure (float, optional): Pressure (Pa). Default is None.
        molar_volume (float, optional): Molar volume (m^3/mol). Default is None.
        kappa_one (float, optional): PRSV fit parameter kappa1 (-). Default is None.

    Returns:
        list[list]: 2D array with EOS phase and selected state properties.
    """
    try:
        specified = 0
        for value in [temperature, pressure, molar_volume]:
            if value is not None:
                specified += 1
        if specified < 2:
            return "Error: At least two of temperature, pressure, and molar_volume must be provided"

        eos = thermo_prsv(Tc=critical_temperature, Pc=critical_pressure, omega=omega, T=temperature, P=pressure, V=molar_volume, kappa1=kappa_one)

        return [
            ["Property", "Value"],
            ["phase", str(getattr(eos, "phase", ""))],
            ["T", getattr(eos, "T", None)],
            ["P", getattr(eos, "P", None)],
            ["V_l", getattr(eos, "V_l", None)],
            ["V_g", getattr(eos, "V_g", None)]
        ]
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Critical temperature (K).
Critical pressure (Pa).
Acentric factor (-).
Temperature (K).
Pressure (Pa).
Molar volume (m^3/mol).
PRSV fit parameter kappa1 (-).