Skip to content

polykin.properties.pvt¤

pseudocritical_properties ¤

pseudocritical_properties(
    y: FloatVector,
    Tc: FloatVector,
    Pc: FloatVector,
    Zc: FloatVector,
    w: FloatVector | None = None,
) -> tuple[float, float, float, float, float]

Calculate the pseudocritial properties of a mixture to use in corresponding states correlations.

\[ \begin{aligned} T_{cm} &= \sum_i y_i T_{ci} \\ Z_{cm} &= \sum_i y_i Z_{ci} \\ v_{cm} &= \sum_i y_i \frac{Z_{ci} R T_{ci}}{P_{ci}} \\ P_{cm} &= \frac{Z_{cm} R T_{cm}}{v_{cm}} \\ \omega_{cm} &= \sum_i y_i \omega_{ci} \end{aligned} \]

where the meaning of the parameters is as defined below.

References

  • RC Reid, JM Prausniz, and BE Poling. The properties of gases & liquids 4th edition, 1986, p. 76-77.
PARAMETER DESCRIPTION
y

Mole fractions of all components. Unit = mol/mol.

TYPE: FloatVector

Tc

Critical temperatures of all components. Unit = K.

TYPE: FloatVector

Pc

Critical pressures of all components. Unit = Pa.

TYPE: FloatVector

Zc

Critical compressibility factors of all components.

TYPE: FloatVector

w

Acentric factors of all components.

TYPE: FloatVector | None DEFAULT: None

RETURNS DESCRIPTION
tuple[float, float, float, float, float]

Tuple of pseudocritial properties, \((T_{cm}, P_{cm}, v_{cm}, Z_{cm}, \omega_{cm})\).

Source code in src/polykin/properties/pvt/mixing_rules.py
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
def pseudocritical_properties(y: FloatVector,
                              Tc: FloatVector,
                              Pc: FloatVector,
                              Zc: FloatVector,
                              w: FloatVector | None = None
                              ) -> tuple[float, float, float, float, float]:
    r"""Calculate the pseudocritial properties of a mixture to use in
    corresponding states correlations.

    $$ \begin{aligned}
        T_{cm} &= \sum_i y_i T_{ci} \\
        Z_{cm} &= \sum_i y_i Z_{ci} \\
        v_{cm} &= \sum_i y_i \frac{Z_{ci} R T_{ci}}{P_{ci}} \\
        P_{cm} &= \frac{Z_{cm} R T_{cm}}{v_{cm}} \\
        \omega_{cm} &= \sum_i y_i \omega_{ci}
    \end{aligned} $$

    where the meaning of the parameters is as defined below.

    **References**

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

    Parameters
    ----------
    y : FloatVector
        Mole fractions of all components. Unit = mol/mol.
    Tc : FloatVector
        Critical temperatures of all components. Unit = K.
    Pc : FloatVector
        Critical pressures of all components. Unit = Pa.
    Zc : FloatVector
        Critical compressibility factors of all components.
    w : FloatVector | None
        Acentric factors of all components.

    Returns
    -------
    tuple[float, float, float, float, float]
        Tuple of pseudocritial properties,
        $(T_{cm}, P_{cm}, v_{cm}, Z_{cm}, \omega_{cm})$.
    """

    Tc_mix = dot(y, Tc)
    Zc_mix = dot(y, Zc)
    vc = Zc*R*Tc/Pc
    vc_mix = dot(y, vc)
    Pc_mix = R*Zc_mix*Tc_mix/vc_mix

    if w is not None:
        w_mix = dot(y, w)
    else:
        w_mix = -1e99

    return (Tc_mix, Pc_mix, vc_mix, Zc_mix, w_mix)