Skip to content

polykin.properties.pvt¤

B_pure ¤

B_pure(
    T: float | FloatArray, Tc: float, Pc: float, w: float
) -> float | FloatArray

Estimate the second virial coefficient of a nonpolar or slightly polar gas.

\[ \frac{B P_c}{R T_c} = B^{(0)}(T_r) + \omega B^{(1)}(T_r) \]

where \(B\) is the second virial coefficient, \(P_c\) is the critical pressure, \(T_c\) is the critical temperature, \(T_r=T/T_c\) is the reduced temperature, and \(\omega\) is the acentric factor.

References

  • RC Reid, JM Prausniz, and BE Poling. The properties of gases & liquids 4th edition, 1986, p. 40.
PARAMETER DESCRIPTION
T

Temperature [K].

TYPE: float | FloatArray

Tc

Critical temperature [K].

TYPE: float

Pc

Critical pressure [Pa].

TYPE: float

w

Acentric factor.

TYPE: float

RETURNS DESCRIPTION
float | FloatArray

Second virial coefficient, \(B\) [m³/mol].

Source code in src/polykin/properties/pvt/virial.py
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
def B_pure(
    T: float | FloatArray,
    Tc: float,
    Pc: float,
    w: float,
) -> float | FloatArray:
    r"""Estimate the second virial coefficient of a nonpolar or slightly polar
    gas.

    $$ \frac{B P_c}{R T_c} = B^{(0)}(T_r) + \omega B^{(1)}(T_r) $$

    where $B$ is the second virial coefficient, $P_c$ is the critical pressure,
    $T_c$ is the critical temperature, $T_r=T/T_c$ is the reduced temperature,
    and $\omega$ is the acentric factor.

    **References**

    *   RC Reid, JM Prausniz, and BE Poling. The properties of gases & liquids
        4th edition, 1986, p. 40.

    Parameters
    ----------
    T : float | FloatArray
        Temperature [K].
    Tc : float
        Critical temperature [K].
    Pc : float
        Critical pressure [Pa].
    w : float
        Acentric factor.

    Returns
    -------
    float | FloatArray
        Second virial coefficient, $B$ [m³/mol].
    """
    Tr = T / Tc
    B0 = 0.083 - 0.422 / Tr**1.6
    B1 = 0.139 - 0.172 / Tr**4.2
    return R * Tc / Pc * (B0 + w * B1)