You are on page 1of 1

Code:

Function zcalculation(Tpr, Ppr)

T = 1 / Tpr
Beta = (0.06125 * T) * Exp(-1.2 * (1 - T) ^ 2)
Y = Beta * Ppr
i = 0
10 i = i + 1
fy = -Beta * Ppr + ((Y + Y ^ 2 + Y ^ 3 + Y ^ 4) / (1 - Y) ^ 3) - ((14.76 * T - 9.76
* T ^ 2 + 4.58 * T ^ 3) * Y ^ 2) + ((90.7 * T - 242.2 * T ^ 2 + 42.4 * T ^ 3) * Y ^
(2.18 + 2.82 * T))
dfy = ((1 + 4 * Y + 4 * Y ^ 2 - 4 * Y ^ 3 + Y ^ 4) / (1 - Y) ^ 4) - ((29.52 * T -
19.52 * T ^ 2 + 9.16 * T ^ 3) * Y) + ((2.18 + 2.82 * T) * (90.7 * T - 242.2 * T ^ 2
+ 42.2 * T ^ 3) * Y ^ (1.18 + 2.82 * T))
Y = Y - (fy / dfy)
If (i > 100 Or Abs(fy) < 10 ^ -12) Then
GoTo 100
Else
GoTo 10
End If
100 Z = (Beta * Ppr) / Y
zcalculation = Round(Z, 3)
End Function

You might also like