pytherm.activity.uniquac

This module contains classes and methods to calculate activity coefficients with the UNIQUAC model.

How to use

To use UNIQUAC it’s nessesary to set-up the model:
>>> from pytherm.activity import uniquac as uq
>>> T = 25.0 + 273.15
>>> xs = [0.7273, 0.0909, 0.1818]
>>> rs = [0.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)
>>> print(am.get_y(xs, T))
[1.570393443107605, 0.29482409358024597, 18.11433219909668]

UNIQUAC class

class pytherm.activity.uniquac.UNIQUAC

Implementation of the UNIQUAC model

Parameters:
  • r (list[float]) – list with substances’ r

  • q (list[float]) – list with substances’ q

  • res_matrix – interaction parameters matrix

Methods

get_a(self, conc, T)

Calculate activities for conc array

get_y(self, conc, T)

Calculate activity coefficients for conc array

__init__(self: pytherm.cpp.UNIQUAC, r: list[float], q: list[float], res_matrix: list[list[list[float]]]) None
get_a(self: pytherm.cpp.UNIQUAC, conc: list[float], T: float) list[float]

Calculate activities for conc array

Concentrations must be in molar fractions

Parameters:
  • conc (list[float]) – Input concentration array, [molar fraction]

  • T (float) – Temperature, [K]

Returns:

Activities

Return type:

list[float]

Examples

>>> UNIQUAC.get_a([0.5, 0.5], T=298)
get_y(self: pytherm.cpp.UNIQUAC, conc: list[float], T: float) list[float]

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 (list[float]) – Input concentration array, [molar fraction]

  • T (float) – Temperature, [K]

Returns:

Activity coefficients

Return type:

list[float]

Examples

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