UNIQUAC

UNIQUAC (UNIversal QUAsiChemical) Excess Gibbs free energy model.

class UNIQUAC(qs, rs, aij=None, bij=None, cij=None, dij=None, eij=None)[source]

Bases: GeModel

UNIQUAC (UNIversal QUAsiChemical) Excess Gibbs free energy model.

Please refer to the yaeos user documentation for an in-depth look at the model’s information: https://ipqa-research.github.io/yaeos/page/index.html

Parameters:
  • qs (array_like) – Molecule’s relative areas \(Q_i\)

  • rs (array_like) – Molecule’s relative volumes \(R_i\)

  • aij (array_like) – Interaction parameters matrix \(a_{ij}\) zero matrix if no provided, by default None

  • bij (array_like) – Interaction parameters matrix \(b_{ij}\) zero matrix if no provided, by default None

  • cij (array_like) – Interaction parameters matrix \(c_{ij}\) zero matrix if no provided, by default None

  • dij (array_like) – Interaction parameters matrix \(d_{ij}\) zero matrix if no provided, by default None

  • eij (array_like) – Interaction parameters matrix \(e_{ij}\) zero matrix if no provided, by default None

qs

Molecule’s relative areas \(Q_i\)

Type:

array_like

rs

Molecule’s relative volumes \(R_i\)

Type:

array_like

aij

Interaction parameters matrix \(a_{ij}\)

Type:

array_like

bij

Interaction parameters matrix \(b_{ij}\)

Type:

array_like

cij

Interaction parameters matrix \(c_{ij}\)

Type:

array_like

dij

Interaction parameters matrix \(d_{ij}\)

Type:

array_like

eij

Interaction parameters matrix \(e_{ij}\)

Type:

array_like

Example

import numpy as np

from yaeos import UNIQUAC

b = np.array(
    [
        [0.0, -526.02, -309.64],
        [318.06, 0.0, 91.532],
        [-1325.1, -302.57, 0.0],
    ]
)

rs = np.array([0.92, 2.1055, 3.1878])
qs = np.array([1.4, 1.972, 2.4])

t = 298.15

model = UNIQUAC(qs, rs, bij=b)

n = np.array([2.0, 2.0, 8.0])

gammas = np.exp(model.ln_gamma(n, t)) # [8.856, 0.860, 1.425]