pytherm.activity.uniquac module

This module contains a class UNIQUAC for performing activity coefficient calculations with the UNIQUAC model.

UNIQUAC Class

class pytherm.activity.uniquac.UNIQUAC(comp_r: ~numpy.ndarray, comp_q: ~numpy.ndarray, res_params: ~numpy.ndarray[(<function any at 0x7f3aff195570>, <function any at 0x7f3aff195570>), ~numpy.any])[source]

UNIFAC model for activity coefficients calculation

Parameters:
  • comp_r (np.ndarray) – Array with r

  • comp_q (np.ndarray) – Array with q

  • res_params (np.ndarray[(np.any, np.any,), np.any])) – Matrix with coefficients for res component

Examples

>>> import numpy as np
>>> from pytherm.activity import uniquac as uq
>>> T = 25.0 + 273.15
>>> xs = [0.7273, 0.0909, 0.1818]
>>> rs = [.92, 2.1055, 3.1878]
>>> qs = [1.4, 1.972, 2.4]
>>> inter = [
...     [[0, 0], [0, 526.02], [0, 309.64]],
...     [[0, -318.06], [0, 0], [0, -91.532]],
...     [[0, 1325.1], [0, 302.57], [0, 0]],
... ]
>>> am = uq.UNIQUAC(rs, qs, inter)
>>> am.get_y(np.array(xs), T)
[ 1.57039333  0.29482416 18.11432905]

Methods

get_y(conc[, T])

Calculate activity coefficients for conc array

get_y(conc: ndarray, T=298.0)[source]

Calculate activity coefficients for conc array

Concentrations must be in molar fractions

\[\gamma_i = \exp\left(\ln \gamma_i^c + \ln \gamma_i^r \right)\]
Parameters:
  • conc (np.ndarray) – Input concentration array, [molar fraction]

  • T (float, optional) – Temperature, [K], by default 298.0

Returns:

Activity coefficients

Return type:

np.ndarray

Examples

>>> UNIQUAC.get_y([0.5, 0.5], T=298)

Functions

pytherm.activity.uniquac.get_res(conc: ndarray, comp_q: ndarray, t_matrix: ndarray[any, any]) ndarray[source]

Calculate residual component \(\ln\gamma_i^r\)

\[\tau_{ji} = \exp\left(\frac{-\Delta u_{ij}}{RT}\right)\]
\[\ln \tau_{ij} =a_{ij}+\frac{b_{ij}}{T}+c_{ij}\ln T + d_{ij}T + \frac{e_{ij}}{T^2}\]
\[\ln \gamma_i^{res} = q_i \left(1 - \ln\frac{\sum_j^N q_j x_j \tau_{ji}} {\sum_j^N q_j x_j}- \sum_j \frac{q_k x_j \tau_{ij}}{\sum_k q_k x_k \tau_{kj}}\right)\]
pytherm.activity.uniquac.get_comb(conc: ndarray, comp_r: ndarray, comp_q: ndarray) ndarray[source]

Calculate combinatorial component \(\ln\gamma_i^c\) using classic equation

\[\ln \gamma_i^c = 1 - {V}_i + \ln({V}_i) - 5q_i \left(1 - \frac{V_i}{F_i}+ \ln\left(\frac{V_i}{F_i}\right)\right)\]
\[V_i = \frac{r_i}{\sum_j r_j x_j}\]
\[F_i = \frac{q_i}{\sum_j q_j x_j}\]