3. Partial Molar Properties

We define partial molar property \(\bar{M}_i\) of species i in a mixture as

(1)\[\bar{M}_i = \left(\frac{\partial(nM)}{\partial n_i}\right)_{P, T, n_j}\]

The mixture property is related to the partial molar property as

\[nM=\sum_i n_i\bar{M}_i\]

or, in terms of gas-phase mole fractions \(y_i\),

\[M=\sum_i y_i\bar{M}_i\]

The following relationships also hold

(2)\[\bar{M}_i = \bar{M}^\text{IG} + \bar{M}^\text{R}\]
(3)\[M^\text{R} = \sum_i y_i\bar{M}^\text{R}\]

3.1. Ideal Gas

The Gibbs theorem is

A partial molar property (other than volume) of a contituent species in an ideal-gas mixture is equal to the corresponding molar property of the species as a pure ideal gas at the mixture temperature but at a pressure equal to its partial pressure in the mixture

The partial molar volume of an ideal gas, \(\bar{V}_i^\text{IG}\), is

(4)\[\bar{V}_i^\text{IG} = \frac{RT}{P}\]

The partial molar enthalpy of an ideal gas, \(\bar{H}_i^\text{IG}\), is

\[\bar{H}_i^\text{IG} = H_i^\text{IG}\]

which results from the enthalpy of an ideal gas being independent of pressure. Therefore, we can compute the ideal gas partial molar enthalpy if we have the ideal gas heat capacities, as follows

(5)\[\bar{H}_i^\text{IG} = H_i^\text{IG} = \int_{T_\text{ref}}^T C_{\text{p},i}^\text{IG}\mathrm{d}T^\prime\]

where \(T_\text{ref}\) is a reference temperature and \(T^\prime\) is a dummy variable for integration. Often times, we want to compute these quantities in dimensionless units,

\[\begin{split}\begin{align} \bar{H}_i^{\text{IG},\star} &= \frac{\bar{H}_i^\text{IG}}{RT_\text{ref}} \\ &= \int_{1}^{T^\star} \frac{C_{\text{p},i}^\text{IG}}{R}\mathrm{d}T^\prime \\ &= \end{align}\end{split}\]

or

(6)\[\bar{H}_i^{\text{IG},\star} = \int_{1}^{T^\star} C_{\text{p},i}^{\text{IG},\star}\mathrm{d}T^\prime\]

where

\[T^\star=T/T_\text{ref}\]

is a dimensionless variable and

\[C_{\text{p},i}^{\text{IG},\star} = C_{\text{p},i}^\text{IG}/R\]

is a dimensionless parameter that is a function of \(T^\star\).

We note that the thermodynamic integration reference temperature does not have to be the same as the temperature for scaling, but we have made them the same here for simplicity.

Todo

Implement ideal gas partial molar entropy?? Implement ideal gas partial molar free energy?? This might not be useful though because these values seem to depend on mixture properties

3.2. Residual

The residual partial molar volume of component i, \(\bar{V}_i^\text{R}\), can be calculated as

(7)\[\begin{split}\bar{V}_i^\mathrm{R} = RT\left(\frac{\partial \ln\hat{\phi}_i}{\partial P}\right)_{T,y}\\\end{split}\]

Defining the dimensionless quantity

\[\bar{V}_i^{\mathrm{R},\star} = \frac{\bar{V}_i^\text{R}}{RT_\text{ref}}\]

The expression in dimensionless units can be simplified to

(8)\[\bar{V}_i^{\mathrm{R},\star} = T^\star\left(\frac{\partial \ln{\hat{\phi}_i}}{\partial P}\right)_{T^\star, y}\]

The residual partial molar enthalpy of component i, \(\bar{H}_i^\text{R}\), can be calculated as

(9)\[\bar{H}_i^{\text{R}} = -RT^2\left(\frac{\partial \ln\hat{\phi}_i}{\partial T}\right)\]

Defining the dimensionless quantity

\[\begin{split}\begin{align} \bar{H}_i^{\text{R},\star} &= \frac{\bar{H}_i^\text{R}}{RT_\text{ref}} \\ &= -\frac{RT^2}{RT_\text{ref}}\left(\frac{\partial \ln\hat{\phi}_i}{\partial T}\right) \\ &= -\frac{RT^2}{RT_\text{ref}^2}\left(\frac{\partial \ln\hat{\phi}_i}{\partial T^\star}\right) \\ \end{align}\end{split}\]

The expression in dimensionless units is computed as

(10)\[\begin{split}\bar{H}_i^{\text{R},\star} = -\left(T^\star\right)^2\left(\frac{\partial \ln\hat{\phi}_i}{\partial T^\star}\right) \\\end{split}\]

The residual partial molar free energy of component i, \(\bar{G}_i^\text{R}\), which defines the fugacity coefficient \(\hat{\phi}_i\), is

(11)\[\bar{G}_i^\text{R} = RT \ln\hat{\phi}_i\]

With these definitions, however, we note that we need an equation of state to calculate the partial molar properties. In this package, the second-order virial equation of state currently implements the necessary derivatives.

class gasthermo.partial_molar_properties.Mixture(cp_args: List[dict], ideal=True, **kwargs)[source]
Parameters
bar_Hi_IG(cas_i: str, T, T_ref=0)[source]
Parameters
  • T_ref – reference temperature in K for enthalpy, defaults to 0

  • T – temperautre in K

Returns

\(ar{H}_i^ ext{IG}\), see Equation (5)

bar_Vi_IG(T, P)[source]
Parameters
  • T – temperature in K

  • P – pressure in Pa

Returns

\(ar{V}_i^ ext{IG}\), see Equation (4)

enthalpy(ys: List[Union[float, Any]], P: float, T: float, T_ref=0.0)[source]

Residual property of \(X\) for mixture.

Similar to Equation (3) but in dimensionless form

Parameters

method (callable) – function to compute partial molar property of compound

class gasthermo.partial_molar_properties.MixtureDimensionless(cp_args: List[dict], ideal=True, **kwargs)[source]

Todo

add docs!

Parameters
bar_Hi_IG_star(cas_i, T_star, T_ref_star=0)[source]
Parameters
  • T_ref_star – dimensionless reference temperature in K for enthalpy, defaults to 0

  • T_star – dimensionless temperature

Returns

\(ar{H}_i^ ext{IG}\), see Equation (6)

enthalpy_star(ys: List[Union[float, Any]], P: float, T: float)[source]

Residual property of \(X\) for mixture.

Similar to Equation (3) but in dimensionless form

Parameters

method (callable) – function to compute partial molar property of compound