4
Program to calculate Activity Coefficient mix by UNIQUAC (Universal quasi-chemical) Equation Z =lattice coordination number set equal to 10. , ,

Uniquac Activity Coefficient

Embed Size (px)

DESCRIPTION

UNIQUAC ACTIVITY COEFFICIENT For Mixture

Citation preview

  • Program to calculate Activity Coefficient mix by UNIQUAC (Universal quasi-chemical) Equation

    Z =lattice coordination number set equal to 10.

    ,

    ,

  • A first algorithm to calculate and the second for i as following:-

  • Excel Visual Basic Application (VBA) Code.

    Option Explicit

    Function UNIQUAC(T As Double, X As Range, aij As Range, ri As Range, qi As Range)

    Dim N As Integer, i As Integer, j As Integer, k As Integer

    Dim L() As Double, Fayi() As Double

    Dim Theti() As Double, tij() As Double, SUMA As Double, SUMB As Double, SUMC As Double, SUME As Double

    Dim GAMMA() As Double, SUMF As Double, SUMG As Double, ANSW() As Double, GC() As Double, GR() As Double

    N = X.Count

    ReDim L(N) As Double, Fayi(N) As Double, Theti(N) As Double, tij(N, N) As Double, GAMMA(N) As Double

    ReDim ANSW(1 To N) As Double, GC(N) As Double, GR(N) As Double

    For i = 1 To N

    SUMA = 0: SUMB = 0

    For j = 1 To N

    tij(i, j) = Exp(-aij(i, j) / T)

    SUMA = SUMA + ri(j) * X(j)

    SUMB = SUMB + qi(j) * X(j)

    Next j

    Theti(i) = qi(i) * X(i) / SUMB

    Fayi(i) = ri(i) * X(i) / SUMA

    Next i

    For i = 1 To N

    SUME = 0: SUMF = 0: SUMG = 0

    For j = 1 To N

  • SUMC = 0

    For k = 1 To N

    SUMC = SUMC + Theti(k) * tij(k, j)

    Next k

    L(j) = 5 * (ri(j) - qi(j)) - (ri(j) - 1)

    SUMF = SUMF + X(j) * L(j)

    SUME = SUME + Theti(j) * tij(i, j) / SUMC

    SUMG = SUMG + Theti(j) * tij(j, i)

    Next j

    You Can Use Application.Ln() Instead WorksheetFunction.Ln()

    GC(i) = WorksheetFunction.Ln(Fayi(i) / X(i)) + 5 * qi(i) * WorksheetFunction.Ln(Theti(i) / Fayi(i)) _

    + L(i) - (Fayi(i) / X(i) * SUMF)

    GR(i) = qi(i) * (1 - WorksheetFunction.Ln(SUMG) - SUME)

    GAMMA(i) = GC(i) + GR(i)

    ANSW(i) = Exp(GAMMA(i))

    Next i

    UNIQUAC = WorksheetFunction.Transpose(ANSW)

    End Function